欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java基礎(chǔ)-jdk1.8-lambda表達式-stream-創(chuàng)新互聯(lián)

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

一個字段排:

創(chuàng)新互聯(lián)是專業(yè)的密山網(wǎng)站建設(shè)公司,密山接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行密山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
//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)

搜索引擎優(yōu)化