黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java集合去重的幾種方法

Java集合去重的幾種方法

更新時(shí)間:2021-06-02 12:20:59 來源:動(dòng)力節(jié)點(diǎn) 瀏覽4347次

1.基礎(chǔ)數(shù)據(jù)類型集合去重:

例:String

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("c");
        list.add("c");
        list.add("a");
        list.add("a");
        list.add("b");
        //1.set集合去重,不改變原有的順序
        pastLeep1(list);
        //2.遍歷后判斷賦給另一個(gè)list集合  不改變原有的順序
        pastLeep2(list);
        //3.set去重  并按自然順序排序
        pastLeep3(list);
        //4.set去重(縮減為一行)
        pastLeep4(list);
        //5.去重并按自然順序排序
        pastLeep5(list);
    }

方法實(shí)現(xiàn):

 //1.set集合去重,不改變原有的順序
    public static void pastLeep1(List<String> list){
        System.out.println("list = [" + list.toString() + "]");
        List<String> listNew=new ArrayList<>();
        Set set=new HashSet();
        for (String str:list) {
            if(set.add(str)){
                listNew.add(str);
            }
        }
        System.out.println("listNew = [" + listNew.toString() + "]");
    }
    //2.遍歷后判斷賦給另一個(gè)list集合 不改變原有的順序
    public static void pastLeep2(List<String> list){
        System.out.println("list = [" + list.toString() + "]");
        List<String> listNew=new ArrayList<>();
        for (String str:list) {
            if(!listNew.contains(str)){
                listNew.add(str);
            }
        }
        System.out.println("listNew = [" + listNew.toString() + "]");
    }
    //3.set去重  并按自然順序排序
    public static void pastLeep3(List<String> list){
        System.out.println("list = [" + list + "]");
        Set set = new HashSet();
        List<String> listNew=new ArrayList<>();
        set.addAll(list);
        listNew.addAll(set);
        System.out.println("listNew = [" + listNew + "]");
    }
    //4.set去重(縮減為一行) 并按自然順序排序
    public static void pastLeep4(List<String> list){
        System.out.println("list = [" + list + "]");
        List<String> listNew=new ArrayList<>(new HashSet(list));
        System.out.println("listNew = [" + listNew + "]");
    }
    //5.去重并按自然順序排序
    public static void pastLeep5(List<String> list){
        System.out.println("list = [" + list + "]");
        List<String> listNew=new ArrayList<>(new TreeSet<String>(list));
        System.out.println("listNew = [" + listNew + "]");
    }

2.對象根據(jù)指定屬性去重

 List<User>userList = new ArrayList<>();
        userList.add(new User(1,"小李","男"));
        userList.add(new User(5,"小李","男"));
        userList.add(new User(7,"小李","男"));
        userList.add(new User(3,"小李","男"));
        userList.add(new User(1,"小李","男"));
        userList.add(new User(5,"小李","男"));
        //6.對象 根據(jù)指定屬性去重 并按自然順序排序
        System.out.println(removeDuplicateUser(userList));
        //7. 根據(jù)指定屬性去重 并按自然順序排序2
        System.out.println(removeDuplicateUser2(userList));
   //6.對象 根據(jù)指定屬性去重 并按自然順序排序
    public static ArrayList<User> removeDuplicateUser(List<User> users) {
        Set<User> set = new TreeSet<User>(new Comparator<User>() {
            @Override
            public int compare(User o1, User o2) {
                return new Integer(o1.getId()).compareTo(new Integer(o2.getId()));
            }
        });
        set.addAll(users);
        return new ArrayList<User>(set);
    }
    //7. 根據(jù)指定屬性去重 并按自然順序排序2
    public static List<User> removeDuplicateUser2(List<User> list){
        List<User> unique = list.stream().collect(
                collectingAndThen(
                        toCollection(() -> new TreeSet<>(comparingLong(User::getId))), ArrayList::new)
        );
        return unique;
    }

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Java集合去重的幾種方法",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 免费看一片 | 男女生性毛片免费观看 | 一区二区三区精品视频 | 亚洲欧洲精品成人久久曰 | 国产欧美亚洲精品第一页久久肉 | 免费日韩毛片 | 欧美日韩性视频一区二区三区 | 丝袜紧身裙国产在线播放 | 被窝国产理论一二三影院 | 在线播放中文字幕 | 免费在线观看日本 | 国产精品免费视频播放 | 99精品在线免费 | 120秒免费体验 | 亚洲系列中文字幕一区二区 | 涩涩久久 | 欧美日韩第一页 | 中文字幕成人免费高清在线 | 一级aaa毛片 | 国产亚洲精品激情都市 | 成人国产精品免费网站 | 黄色一级小视频 | 成人久久18免费软件 | 黄色片网站免费 | 成人日韩视频 | 成年人的天堂 | 手机在线观看视频你懂的 | 一级毛片a免费播放王色 | 欧美特级特黄a大片免费 | 清清草视频在线 | 波多久久夜色精品国产 | 在线观看免费国产成人软件 | 99久热| 日韩欧美一区二区中文字幕 | 国产色妇 | 成人看片在线观看免费 | 青春草免费视频 | 黄色录像一级毛片 | 日韩图片专区 | 亚洲大香伊人蕉在人依线 | 一个人看的www片免费视频中文 |