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

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

王林
Freigeben: 2019-11-27 15:11:13
nach vorne
4871 Leute haben es durchsucht

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;
    }
Nach dem Login kopieren

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;
    }
Nach dem Login kopieren

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;
    }
Nach dem Login kopieren

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;
    }
Nach dem Login kopieren

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;
    }
Nach dem Login kopieren

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]
    }
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage