Heim  >  Artikel  >  Java  >  Welche Möglichkeiten gibt es, Duplikate aus Listensammlungen in Java zu entfernen?

Welche Möglichkeiten gibt es, Duplikate aus Listensammlungen in Java zu entfernen?

王林
王林nach vorne
2019-11-27 15:11:134655Durchsuche

Welche Möglichkeiten gibt es, Duplikate aus Listensammlungen in Java zu entfernen?

Methode zum Entfernen von Duplikaten:

1. Durch die Eigenschaften der Mengensammlung die Einzigartigkeit der Mengenelemente

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;
    }

Empfohlene kostenlose Video-Tutorials: Java-Video

Unter Verwendung der Eigenschaften der Set-Sammlung, Die Elemente sind eindeutig. AddAll(Collection c)

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

2. Verwenden Sie die Listenmethode „Enthält eine Methode zum Entfernen von Duplikaten“

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

3. Entfernen Sie doppelte Elemente durch Durchlaufen und anschließendes Verwenden der Remove-Methode

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. Rufen Sie die Stream-Methode auf Um die Liste für einen Stream zu konvertieren, entfernen Sie doppelte Elemente im Stream durch „distinct“ (intern basierend auf der Methode „equals()“)

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

Testüberprüfung:

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]
    }

Empfohlene verwandte Artikel und Tutorials: Erste Schritte mit Java

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Duplikate aus Listensammlungen in Java zu entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen