国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

JAVA JDK8 List分組獲取第一個元素的方法

2024-07-14 08:43:01
字體:
供稿:網(wǎng)友

概述

在JAVA JDK8 List分組的實現(xiàn)和用法一文中介紹了JDK 8如何對list進行分組,但是沒有提到如何在分組后,獲取每個分組的第一個元素。其實這個也很簡單,代碼如下:

package test;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.SerializerFeature;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.stream.Collectors;public class ListGroupFindFirstTest3 {  public static void main(String[] args) {    List<Coupon> couponList = new ArrayList<>();    Coupon coupon1 = new Coupon(1,100,"優(yōu)惠券1");    Coupon coupon2 = new Coupon(2,200,"優(yōu)惠券2");    Coupon coupon3 = new Coupon(3,300,"優(yōu)惠券3");    Coupon coupon4 = new Coupon(3,400,"優(yōu)惠券4");    couponList.add(coupon1);    couponList.add(coupon2);    couponList.add(coupon3);    couponList.add(coupon4);    Map<Integer, Coupon> resultList = couponList.stream().collect(Collectors.groupingBy(Coupon::getCouponId,Collectors.collectingAndThen(Collectors.toList(),value->value.get(0))));    System.out.println(JSON.toJSONString(resultList, SerializerFeature.PrettyFormat));  }}
package test;public class Coupon {  private Integer couponId;  private Integer price;  private String name;  public Coupon(Integer couponId, Integer price, String name) {    this.couponId = couponId;    this.price = price;    this.name = name;  }  public Integer getCouponId() {    return couponId;  }  public void setCouponId(Integer couponId) {    this.couponId = couponId;  }  public Integer getPrice() {    return price;  }  public void setPrice(Integer price) {    this.price = price;  }  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }}

需要借助Collectors.collectingAndThen方法,對組內(nèi)的元素進行處理,這里是獲取第一個元素。

代碼輸出結(jié)果如下:

{   1:{
  "couponId":1,
  "name":"優(yōu)惠券1",
  "price":100
 },
 2:{
  "couponId":2,
  "name":"優(yōu)惠券2",
  "price":200
 },
 3:{
  "couponId":3,
  "name":"優(yōu)惠券3",
  "price":300
 }
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲麻莱县| 罗江县| 银川市| 东乌珠穆沁旗| 陈巴尔虎旗| 玉林市| 察哈| 两当县| 汉源县| 尼玛县| 如皋市| 通辽市| 上思县| 潼南县| 山东| 光山县| 长沙县| 绍兴市| 株洲县| 门头沟区| 南溪县| 新巴尔虎左旗| 商丘市| 凉山| 海盐县| 长治市| 安康市| 哈尔滨市| 桐柏县| 天峨县| 南雄市| 苍溪县| 布拖县| 开江县| 南汇区| 永宁县| 乌鲁木齐市| 洞头县| 耿马| 龙游县| 夹江县|