?Listlist = new ArrayList<>(); 基礎(chǔ)的一些使用//遍歷
list.forEach(x->System.out.println(x.getId()+"-"+x.getName()));
//刪除符合條件的元素
list.removeIf(e ->Objects.isNull(e));1、排序:一個字段排:

//list自己本身的順序發(fā)生了改變
//【升序】
list.sort(Comparator.comparing(User::getId));
//【降序】
list.sort(Comparator.comparing(User::getId).reversed());
//list自己本身的順序不發(fā)生改變
list.stream().sorted(
Comparator.comparing(User::getId, Comparator.naturalOrder()).reversed())
.forEach(System.out::println);
兩個字段排序:
//bya為第一個排序字段,升序????這個id相同時走第二個排序
Comparatorid= Comparator.comparing(User::getId);
//bya為第二個排序字段,降序.reversed()
Comparatorage= Comparator.comparing(User::getAge).reversed();
Collections.sort(list,id.thenComparing(age));
//自然比較器
//Comparator.naturalOrder()
//Comparator.nullsLast() null排在最后面
//Comparator.nullsFirst() null排在最前面
list.sort(
Comparator.comparing(User::getAge,
Comparator.nullsLast(Integer::compareTo))
.thenComparing(User::getUserName,
Comparator.nullsFirst(String::compareTo)) 2、分組:一個字段分組:
Map>userGroupList=
list.stream().collect(Collectors.groupingBy(User::getUserName)); 兩個字段分組-一起:
Map>voMap =
????????????????list.stream().collect(Collectors.groupingBy(
????????????????a ->com.pcitc.kpi.utilis.util.StringUtils.format("{0}{1}",
a.getOrgCode(), a.getUserName()))); 兩個字段分組-先后:
//先按年齡分組、再按性別分組
Map>>>userMap =
list.collect(Collectors.groupingBy(
UserD::getAge, Collectors.groupingBy(
User::getSex, Collectors.groupingBy((userDTO) ->{
if (userDTO.getSex().equals("男")) {
return 1;
} else {
return 0;
}
})))); 3、計算//求和
list.stream().map(User::getMoney).reduce(BigDecimal.ZERO,BigDecimal::add);4、去重
一個字段去重:
// 根據(jù)name去重
list.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() ->new TreeSet<>(Comparator.comparing(User::getName))), ArrayList::new));
System.out.println("name去重后:"+collect.toString());兩個字段去重:
list.stream().collect(
collectingAndThen(toCollection(() ->’
new TreeSet<>(Comparator.comparing(o ->o.getName() + ";"
+ o.getClassName() + ";"
+ o.getSex()))), ArrayList::new));
System.out.println("多條件去重后:"+collect1.toString());你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當前文章:java基礎(chǔ)-jdk1.8-lambda表達式-stream-創(chuàng)新互聯(lián)
分享鏈接:http://chinadenli.net/article26/dooocg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、品牌網(wǎng)站建設(shè)、外貿(mào)建站、網(wǎng)頁設(shè)計公司、面包屑導航、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容