Maison  >  Article  >  Java  >  Quels sont les moyens de supprimer les doublons des collections List en Java ?

Quels sont les moyens de supprimer les doublons des collections List en Java ?

王林
王林avant
2019-11-27 15:11:134736parcourir

Quels sont les moyens de supprimer les doublons des collections List en Java ?

Méthode de suppression :

À travers les caractéristiques de la collection d'ensembles, le caractère unique des éléments de l'ensemble

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

Tutoriels vidéo gratuits recommandés : vidéo java

En utilisant les caractéristiques de la collection d'ensembles, le les éléments sont uniques AddAll(Collection c)

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

2. Utilisez la méthode list contain pour supprimer les doublons

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

3. Supprimez les éléments en double en parcourant puis en utilisant la méthode 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) Appelez la méthode stream pour. convertir la liste Pour un flux, supprimez les éléments en double dans le flux via distinct (basé en interne sur la méthode equals())

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

Test de vérification :

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

Articles et tutoriels connexes recommandés : Démarrer avec Java à partir de zéro

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer