ホームページ  >  記事  >  Java  >  Java で List コレクションから重複を削除する方法は何ですか?

Java で List コレクションから重複を削除する方法は何ですか?

王林
王林転載
2019-11-27 15:11:134744ブラウズ

Java で List コレクションから重複を削除する方法は何ですか?

重複削除方法:

1. セットコレクションの特性を通じて、セット要素の一意性を明らかにします。

public static List heavyListMethod01(List list){
        Set set=new HashSet(list);
        //Set set1=new TreeSet(list);
        List alist=new ArrayList();
        for (Object o:set) {
            alist.add(o);
        }
        return alist;
    }

無料のビデオ チュートリアルの推奨事項: java ビデオ

セットの特性を使用するコレクション、要素の一意性 AddAll(Collection c)

public static List heavyListMethod02(List list){
        List newList=new ArrayList();
        newList.addAll(new HashSet(list));
        return newList;
    }

2. list メソッド contains メソッドを使用して重複を削除します

public static List heavyListMethod03(List list){
        List alist=new ArrayList();
        for (Object o:list) {
          if(!(alist.contains(o))){
            alist.add(o);
          }
        }
        return alist;
    }

3. トラバースしてから、remove メソッドを使用して重複要素を削除します

public static List heavyListMethod04(List<Object> list){
       for (int i=0;i<list.size()-1;i++){
           Object o =list.get(i);
           for (int j=i+1;j<list.size();j++){
               if(o.equals(list.get(j))){
                   list.remove(j);
                   j--;
               }
           }
       }
       return list;
    }

4. (jdk1. 8) ストリーム メソッドを呼び出してリストを変換します。ストリームの場合、distinct (内部的には、equals() メソッドに基づく) を介してストリーム内の重複要素を削除します。

public static List heavyListMethod05(List<Object> list){
        list = list.stream().distinct().collect(Collectors.toList());
        return list;
    }

テスト検証:

public static void main(String[] args) {
        List list=new ArrayList();
        list.add(1);
        list.add(2);
        list.add(5);
        list.add(2);
        list.add(3);
        list.add(1);
        list.add(4);
        List list1 =heavyListMethod01(list);
        System.out.println("1----"+list1);//[1, 2, 3, 4, 5]
        List list2 =heavyListMethod02(list);
        System.out.println("2----"+list2);//[1, 2, 3, 4, 5]
        List list3 =heavyListMethod03(list);
        System.out.println("3----"+list3);//[1, 2, 5, 3, 4]
        List list4 =heavyListMethod04(list);
        System.out.println("4----"+list4);//[1, 2, 5, 3, 4]
        List list5 =heavyListMethod05(list);
        System.out.println("5----"+list5);//[1, 2, 5, 3, 4]
    }

おすすめの関連記事とチュートリアル: ゼロから始める Java 入門

以上がJava で List コレクションから重複を削除する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。