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

JAVA8獲取list集合中重復(fù)的元素與獲取去重數(shù)據(jù)實例

 更新時間:2023年07月05日 11:06:57   作者:胡蘿卜★  
這篇文章主要給大家介紹了關(guān)于JAVA8獲取list集合中重復(fù)的元素與獲取去重數(shù)據(jù)的相關(guān)資料,在實際開發(fā)中經(jīng)常會遇到需要找出(刪除)一個list中某些元素的屬性相同的元素,需要的朋友可以參考下

1.java8獲取list集合中重復(fù)的元素

      //單獨String集合
        List<String> list = Arrays.asList("a","b","a","c","d","b");
        List<String> collect = list.stream().filter(i -> i != "")               // list 對應(yīng)的 Stream 并過濾""
                .collect(Collectors.toMap(e -> e, e -> 1, Integer::sum)) // 獲得元素出現(xiàn)頻率的 Map,鍵為元素,值為元素出現(xiàn)的次數(shù)
                .entrySet()
                .stream()                       // 所有 entry 對應(yīng)的 Stream
                .filter(e -> e.getValue() > 1)         // 過濾出元素出現(xiàn)次數(shù)大于 1 (重復(fù)元素)的 entry
                .map(Map.Entry::getKey)                // 獲得 entry 的鍵(重復(fù)元素)對應(yīng)的 Stream
                .collect(Collectors.toList());
        System.out.println(collect);

2.java8根據(jù)List對象屬性獲取重復(fù)數(shù)據(jù)和獲取去重后數(shù)據(jù)

2.1獲取重復(fù)數(shù)據(jù)

List<Person> personList = new ArrayList<Person>();
        personList.add(new Person("張三", 8, 3000));
        personList.add(new Person("李四", 18, 5000));
        personList.add(new Person("王五", 28, 7000));
        personList.add(new Person("孫六", 38, 9000));
        personList.add(new Person("孫六", 38, 9000));
        personList.add(new Person("孫六", 38, 10000));
       //1.先根據(jù)得到一個屬于集合 姓名
        List<String> uniqueList = personList.stream().collect(Collectors.groupingBy(Person::getName, Collectors.counting()))
                .entrySet().stream().filter(e -> e.getValue() > 1)
                .map(Map.Entry::getKey).collect(Collectors.toList());
        uniqueList.forEach(p -> System.out.println(p));
        //計算兩個list中的重復(fù)值  3條數(shù)據(jù)
        List<Person> reduce1 = personList.stream().filter(item -> uniqueList.contains(item.getName())).collect(Collectors.toList());
        System.out.println(reduce1.toString());
        //2.根據(jù)多個屬性獲取重復(fù)數(shù)據(jù),只能重復(fù)操作得到重復(fù)的數(shù)據(jù) 工資
        List<Integer> collect1 = reduce1.stream().collect(Collectors.groupingBy(Person::getWages, Collectors.counting()))
                .entrySet().stream().filter(e -> e.getValue() > 1)
                .map(Map.Entry::getKey).collect(Collectors.toList());
        //計算兩個list中的差集
        List<Person> collect2 = reduce1.stream().filter(item -> collect1.contains(item.getWages())).collect(Collectors.toList());
        System.out.println(collect2.toString());

結(jié)果: 根據(jù)多個屬性獲取重復(fù)數(shù)據(jù),還在摸索中,歡迎大家來指點?。。。。?/strong>

2.2獲取去重后數(shù)據(jù)

List<Person> personList = new ArrayList<Person>();
        personList.add(new Person("張三", 8, 3000));
        personList.add(new Person("李四", 18, 5000));
        personList.add(new Person("王五", 28, 7000));
        personList.add(new Person("孫六", 38, 9000));
        personList.add(new Person("孫六", 38, 9000));
        personList.add(new Person("孫六", 38, 10000));
 //去重      
 List<Person> unique = personList.stream().collect(Collectors.collectingAndThen(
                Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person::getName))), ArrayList::new));
        System.out.println("unique:"+unique.toString());

結(jié)果:

總結(jié)

到此這篇關(guān)于JAVA8獲取list集合中重復(fù)的元素與獲取去重數(shù)據(jù)的文章就介紹到這了,更多相關(guān)JAVA8獲取list集合重復(fù)元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java Apollo是如何實現(xiàn)配置更新的

    Java Apollo是如何實現(xiàn)配置更新的

    這篇文章主要介紹了Java Apollo是如何實現(xiàn)配置更新的,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • springboot上傳zip包并解壓至服務(wù)器nginx目錄方式

    springboot上傳zip包并解壓至服務(wù)器nginx目錄方式

    這篇文章主要介紹了springboot上傳zip包并解壓至服務(wù)器nginx目錄方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Java 入門圖形用戶界面設(shè)計之單選按鈕

    Java 入門圖形用戶界面設(shè)計之單選按鈕

    圖形界面(簡稱GUI)是指采用圖形方式顯示的計算機操作用戶界面。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說在視覺上更易于接受,本篇精講Java語言中關(guān)于圖形用戶界面的單選按鈕
    2022-02-02
  • Springboot 2.x中server.servlet.context-path的運用詳解

    Springboot 2.x中server.servlet.context-path的運用詳解

    這篇文章主要介紹了Springboot 2.x中server.servlet.context-path的運用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • string boot 與 自定義interceptor的實例講解

    string boot 與 自定義interceptor的實例講解

    下面小編就為大家分享一篇string boot 與 自定義interceptor的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • java新特性之for循環(huán)最全的用法總結(jié)

    java新特性之for循環(huán)最全的用法總結(jié)

    下面小編就為大家?guī)硪黄猨ava新特性之for循環(huán)最全的用法總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • Spring?Security?2026?構(gòu)建安全、可靠的企業(yè)應(yīng)用實踐指南

    Spring?Security?2026?構(gòu)建安全、可靠的企業(yè)應(yīng)用實踐指南

    文章概述了SpringSecurity2026的核心特性、認證與授權(quán)的最佳實踐、安全防護和會話管理措施,以及在微服務(wù)架構(gòu)中的應(yīng)用,并探討了未來的安全趨勢,強調(diào)通過合理配置和實踐構(gòu)建更安全的企業(yè)應(yīng)用
    2026-04-04
  • spring使用validation參數(shù)及全局異常檢測方式

    spring使用validation參數(shù)及全局異常檢測方式

    本文主要介紹了Java的數(shù)據(jù)校驗規(guī)范validation-api,包括其定義的注解和HibernateValidator的實現(xiàn),還介紹了spring-boot-starter-validation的使用,可以讓開發(fā)者在SpringBoot應(yīng)用中簡化數(shù)據(jù)校驗的功能
    2025-02-02
  • 如何解決idea的Translation插件google翻譯無法使用問題

    如何解決idea的Translation插件google翻譯無法使用問題

    這篇文章主要介紹了如何解決idea的Translation插件google翻譯無法使用問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • idea設(shè)置JVM運行參數(shù)的幾種方式

    idea設(shè)置JVM運行參數(shù)的幾種方式

    對JVM運行參數(shù)進行修改是JVM性能調(diào)優(yōu)的重要手段,本文主要介紹了idea設(shè)置JVM運行參數(shù)的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評論

阳曲县| 秦皇岛市| 上饶市| 五大连池市| 岐山县| 双柏县| 临汾市| 达尔| 集贤县| 常德市| 磐石市| 禹州市| 尼玛县| 米脂县| 红桥区| 万山特区| 塔城市| 英超| 宽甸| 天峨县| 榕江县| 广元市| 象州县| 方山县| 宽城| 新乐市| 金昌市| 昌宁县| 江源县| 兴文县| 定兴县| 酒泉市| 永兴县| 沂源县| 营口市| 莫力| 绩溪县| 肇源县| 鄢陵县| 盈江县| 新竹市|