一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - JAVA JDK8 List分組的實現和用法

JAVA JDK8 List分組的實現和用法

2021-06-19 10:35Sam哥哥 Java教程

今天小編就為大家分享一篇關于JAVA JDK8 List分組的實現和用法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

概述

list進行分組是日常開發中,經常遇到的,在jdk 8中對list按照某個屬性分組的代碼,超級簡單。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 listgrouptest {
  public static void main(string[] args) {
    list<coupon> couponlist = new arraylist<>();
    coupon coupon1 = new coupon(1,100,"優惠券1");
    coupon coupon2 = new coupon(2,200,"優惠券2");
    coupon coupon3 = new coupon(3,300,"優惠券3");
    coupon coupon4 = new coupon(3,400,"優惠券4");
    couponlist.add(coupon1);
    couponlist.add(coupon2);
    couponlist.add(coupon3);
    couponlist.add(coupon4);
    map<integer, list<coupon>> resultlist = couponlist.stream().collect(collectors.groupingby(coupon::getcouponid));
    system.out.println(json.tojsonstring(resultlist, serializerfeature.prettyformat));
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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;
  }
}

上面的例子是對list按照couponid分組,couponid一樣的,歸為一組。打印結果如下:

{
 1:[
   {
    "couponid":1,
    "name":"優惠券1",
    "price":100
   }
   ],
 2:[
   {
    "couponid":2,
    "name":"優惠券2",
    "price":200
   }
   ],
 3:[
   {
    "couponid":3,
    "name":"優惠券3",
    "price":300
   },
   {
    "couponid":3,
    "name":"優惠券4",
    "price":400
   }
   ]
}

如果分組后,分組內并不想是對象,而是對象的屬性,也可以做到的。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 listgrouptest2 {
  public static void main(string[] args) {
    list<coupon> couponlist = new arraylist<>();
    coupon coupon1 = new coupon(1,100,"優惠券1");
    coupon coupon2 = new coupon(2,200,"優惠券2");
    coupon coupon3 = new coupon(3,300,"優惠券3");
    coupon coupon4 = new coupon(3,400,"優惠券4");
    couponlist.add(coupon1);
    couponlist.add(coupon2);
    couponlist.add(coupon3);
    couponlist.add(coupon4);
    map<integer, list<string>> resultlist = couponlist.stream().collect(collectors.groupingby(coupon::getcouponid,collectors.mapping(coupon::getname,collectors.tolist())));
    system.out.println(json.tojsonstring(resultlist, serializerfeature.prettyformat));
  }
}

這樣分組內就是name屬性了。打印結果如下:

{
 1:[
  "優惠券1"
   ],
 2:[
  "優惠券2"
   ],
 3:[
  "優惠券3",
  "優惠券4"
   ]
}

總結

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

原文鏈接:https://blog.csdn.net/linsongbin1/article/details/83933703

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产90后美女露脸在线观看 | 欧美影院一区二区 | xxx中国bbbwww | 耽美双性 | 调教处男 | 欧美猛男同志同性video | 国产成人看片免费视频观看 | 蜜汁肉桃全文免费阅读 | 国产裸露片段精华合集链接 | 精品国产成人a区在线观看 精品高潮呻吟99AV无码视频 | 俄罗斯美女毛茸茸bbwbbw | 无人区在线观看免费视频国语 | 五月最新女厕所高跟嘘嘘 | 精品国产品在线18年 | 国产caonila在线观看 | 欧美18-19sex性处 | 羞羞污视频 | 精品一卡2卡3卡4卡5卡亚洲 | 亚洲欧美日韩综合在线播放 | 亚洲欧美日韩国产精品影院 | 国产人妖xxxxx免费看 | 2012在线观看免费视频大全 | 亚洲国产精品综合久久一线 | 91精品国产美女福到在线不卡 | 欧美特欧美特级一片 | 免费xxxxx大片在线观看影视 | 日本中文字幕二区三区 | 亚洲国产精品ⅴa在线观看 亚洲国产高清一区二区三区 | 亚洲一级视频在线观看 | 欧美国产合集在线视频 | 午夜国产在线观看 | 国产尤物精品视频 | 久久精品亚洲国产AV涩情 | 无码骚夜夜精品 | 91精品国产亚一区二区三区 | 亚洲国产成人精品激情 | 狠狠干狠狠插 | 边摸边吃奶又黄激烈视频韩国 | 爱情岛永久成人免费网站 | 好姑娘在线观看完整版免费 | 97视频久久久|