最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年12月06日 10:35:16   作者:Sam哥哥  
今天小編就為大家分享一篇關于JAVA JDK8 List分組獲取第一個元素的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

概述

JAVA JDK8 List分組的實現和用法一文中介紹了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方法,對組內的元素進行處理,這里是獲取第一個元素。

代碼輸出結果如下:

{   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
 }
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • java中動態(tài)代理的實現

    java中動態(tài)代理的實現

    本篇文章主要介紹了Java中兩種動態(tài)代理的實現:jdk動態(tài)代理;cglib動態(tài)代理。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 詳解SpringBoot如何刪除引用jar包中的無用bean

    詳解SpringBoot如何刪除引用jar包中的無用bean

    為了趕速度和直接將之前多模塊的maven項目中的部分模塊,直接以jar包的形式引入到新項目中了,雖然省去了不少開發(fā)時間,導致項目臃腫,啟動很慢。本文將用@ComponentScan注解去實現讓項目只加載自己需要的bean,需要的可以參考一下
    2022-06-06
  • java配置變量的解釋,搬運他人優(yōu)質評論(推薦)

    java配置變量的解釋,搬運他人優(yōu)質評論(推薦)

    這篇文章主要介紹了java配置變量,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • java TreeUtil菜單遞歸工具類

    java TreeUtil菜單遞歸工具類

    這篇文章主要為大家詳細介紹了java TreeUtil菜單遞歸工具類,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • spring batch 讀取多個文件數據導入數據庫示例

    spring batch 讀取多個文件數據導入數據庫示例

    本篇文章主要介紹了spring batch 讀取多個文件數據導入數據庫示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 詳談@Cacheable不起作用的原因:bean未序列化問題

    詳談@Cacheable不起作用的原因:bean未序列化問題

    這篇文章主要介紹了@Cacheable不起作用的原因:bean未序列化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java的RTTI和反射機制代碼分析

    Java的RTTI和反射機制代碼分析

    這篇文章主要涉及了Java的RTTI和反射機制代碼分析的相關內容,在介紹運行時類型識別的同時,又向大家展示了其實例以及什么時候會用到反射機制,內容豐富,需要的朋友可以參考下。
    2017-09-09
  • Java+mysql用戶注冊登錄功能

    Java+mysql用戶注冊登錄功能

    這篇文章主要為大家詳細介紹了Java結合mysql實現用戶注冊登錄功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • mybatis防止SQL注入的方法實例詳解

    mybatis防止SQL注入的方法實例詳解

    SQL注入是一種很簡單的攻擊手段,但直到今天仍然十分常見。那么mybatis是如何防止SQL注入的呢?下面腳本之家小編給大家?guī)砹藢嵗a,需要的朋友參考下吧
    2018-04-04
  • 詳解Java如何通過Socket實現查詢IP

    詳解Java如何通過Socket實現查詢IP

    在本文中,我們來學習下如何找到連接到服務器的客戶端計算機的IP地址。我們將創(chuàng)建一個簡單的客戶端-服務器場景,讓我們探索用于TCP/IP通信的java.net?API,感興趣的可以了解一下
    2022-10-10

最新評論

阿克苏市| 孙吴县| 平塘县| 章丘市| 广汉市| 石阡县| 屏南县| 锦屏县| 北安市| 轮台县| 晴隆县| 宝清县| 博罗县| 天等县| 涞水县| 玛曲县| 阳山县| 涡阳县| 区。| 梁河县| 新兴县| 贵溪市| 股票| 泰宁县| 德兴市| 全州县| 屯昌县| 萨嘎县| 玛沁县| 莱州市| 花垣县| 阿克陶县| 德清县| 峡江县| 福清市| 新密市| 上林县| 金堂县| 深水埗区| 许昌县| 济源市|