logo

Comment comparer deux ArrayList en Java

Il existe les manières suivantes de comparer deux ArrayList en Java :

  • Java équivaut à() méthode
  • Java Enlever tout() méthode
  • Java retenirTout() méthode
  • Java ArrayList.contains() méthode
  • Java contentEquals() méthode
  • Java Flux interface

Méthode Java égale()

Java équivaut à() méthode de Liste L'interface compare l'objet spécifié avec la liste pour vérifier l'égalité. Il remplace le équivaut à() méthode de Objet classe.

Syntaxe

tableau de réaction
 boolean equals(Object o) 

Cette méthode accepte un objet à comparer pour égalité avec la liste. Il revient vrai si l'objet spécifié est égal à la liste, sinon renvoie FAUX .

Exemple

Dans l'exemple suivant, nous avons créé deux ArrayList premièreListe et secondeListe . En comparant les deux listes en utilisant équivaut à() méthode, elle renvoie vrai. Nous avons ajouté un autre élément dans le secondeListe pour créer une différence entre firstList et secondList. Maintenant, si nous effectuons une comparaison, cela renvoie FAUX .

 import java.util.*; public class ComapreArraylistExample1 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(); //adds elements to the arraylist firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Mango'); System.out.println(firstList); //second array list List secondList=new ArrayList(); //adds elements to the arraylist secondList.add('Apple'); secondList.add('Pears'); secondList.add('Guava'); secondList.add('Mango'); System.out.println(secondList); //comparing both lists boolean boolval = firstList.equals(secondList); //returns true because lists are equal System.out.println(boolval); //adding another element in the second list secondList.add('Papaya'); //again comparing both lists boolean bool = firstList.equals(secondList); //returns false because lists are not equal System.out.println(bool); } } 

Sortir

 [Apple, Pears, Guava, Mango] [Apple, Pears, Guava, Mango] true false 

Méthode Java RemoveAll() (trouver l'élément manquant)

Java Enlever tout() méthode de Liste des tableaux La classe est utilisée pour supprimer tous les éléments de la liste contenus dans la collection spécifiée. Il remplace le Enlever tout() méthode de Collection abstraite classe.

Syntaxe

 public boolean removeAll(Collection c) 

Cette méthode accepte Collection comme paramètre contenant les éléments à supprimer de cette liste. Il revient vrai si cette liste a changé à la suite de l'appel.

Exemple

Dans l'exemple suivant, nous avons créé deux ArrayList premièreListe et secondeListe . Le Enlever tout() La méthode supprime tous les éléments de la premièreListe car les mêmes éléments sont également présents dans la secondeListe, sauf Papaye . Donc, Papaye est l'élément manquant dans le premièreListe . Il revient donc Papaye . La méthode renvoie un liste vide [] si les deux listes ont les mêmes éléments.

 import java.util.*; public class ComapreArraylistExample2 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(); //adds elements to the array list firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Peach'); //second array list ArrayList secondList=new ArrayList(); //adds elements to the array list secondList.add('Apple'); secondList.add('Pears'); secondList.add('Papaya'); secondList.add('Peach'); //removes all elements from the first list //returns empty list if all the elements of first list match with elements of second list secondList.removeAll(firstList); //prints the element of second list which does not match with the element of the first list System.out.println(secondList); } } 

Sortir

 [Papaya] 

Voyons un autre exemple de méthode removeAll() qui renvoie les éléments de firstList qui ne sont pas présents est la secondList.

Exemple

 import java.util.*; public class ComapreArraylistExample3 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(Arrays.asList(12, 4, 67, 90, 34)); System.out.println('First array list: '); System.out.println(firstList); //second array list List secondList=new ArrayList(Arrays.asList(12, 4, 67, 0, 34)); System.out.println('Second array list: '); System.out.println(secondList); //returns the common elements in both list firstList.removeAll(secondList); System.out.println('Un-common element of the first list: '); System.out.println(firstList); } } 

Sortir

 First array list: [12, 4, 67, 90, 34] Second array list: [12, 4, 67, 0, 34] Un-common element of the first list: [90] 

Méthode Java holdAll() (renvoie les éléments communs dans les deux listes)

Java retenirTout() méthode de Liste des tableaux La classe conserve uniquement les éléments de la liste qui sont également contenus dans une autre liste. Il remplace le retenirTout() méthode de CollectionAbstarct classe.

trouver mon iPhone Android

Syntaxe

 public boolean retainAll(Collection c) 

Cette méthode accepte un Collection en tant que paramètre contenant les éléments à conserver dans la liste. Il revient vrai si cette liste a changé à la suite de l'appel.

Exemple

Dans cet exemple, nous avons créé deux ArrayList premièreListe et secondeListe en utilisant le commeListe() méthode du Tableaux classe. La méthode asList() renvoie une vue liste du tableau spécifié.

 import java.util.*; public class ComapreArraylistExample4 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(Arrays.asList('M', 'W', 'J', 'K', 'T')); System.out.println('First arraylist: '); System.out.println(firstList); //second arraylist List secondList=new ArrayList(Arrays.asList('M', 'W', 'E', 'K', 'T')); System.out.println('Second arraylist: '); System.out.println(secondList); //returns the common elements in both list secondList.retainAll(firstList); System.out.println('Common elements in both list: '); System.out.println(secondList); } } 

Sortir

 First arraylist: [M, W, J, K, T] Second arraylist: [M, W, E, K, T] Common elements in both list: [M, W, K, T] 

Méthode Java ArrayList.contains()

Java ArrayList.contains() La méthode est utilisée pour comparer deux éléments de ArrayList différents. Java ArrayList.contains() la méthode remplace la contient() méthode de CollectionAbstrarct classe.

Syntaxe

 public boolean contains(Object o) 

Cette méthode analyse un élément dont la présence dans la liste doit être vérifiée. Il revient vrai si l'élément correspond, sinon renvoie FAUX .

Exemple

Dans cet exemple, nous avons créé deux ArrayList premièreListe et secondeListe de Chaîne taper. Nous avons comparé ces ArrayList en utilisant contient() méthode. Si les éléments de firstList correspondent aux éléments de secondList, il renvoie Oui et stocke cette valeur dans troisièmeListe . De même, si l'élément ne correspond pas, il renvoie Non .

 import java.util.ArrayList; import java.util.Arrays; public class ComapreArraylistExample5 { public static void main(String [] args) { //first arraylist ArrayList firstList= new ArrayList(Arrays.asList('Good', 'Morning', 'Students')); //second arraylist ArrayList secondList= new ArrayList(Arrays.asList('Good', 'Night', 'frineds')); //storing the comparison output in thirdList ArrayList thirdList= new ArrayList(); //iterator using for-each loop for(String tempList : firstList) //tempList is a variable thirdList.add(secondList.contains(tempList) ? 'Yes' : 'No'); System.out.println(thirdList); } } 

Sortir

 [Yes, No, No] 

Méthode Java contentEquals()

Java contentEquals() la méthode compare les Chaîne avec le StringBuffer et renvoie un booléen valeur. Il appartient à Chaîne classe.

Syntaxe

 public boolean contentEquals(StringBuffer sb) 

Cette méthode accepte StringBuffer comme paramètre à comparer avec String. Il revient vrai si la chaîne représente la même séquence de caractères que le StringBuffer spécifié, sinon renvoie FAUX .

Exemple

Dans cet exemple, nous avons créé deux ArrayList premièreListe et secondeListe de Chaîne taper. Nous avons créé une méthode statique comparerListe() qui analyse deux ArrayList ls1 et ls2 comme argument et renvoie un booléen valeur. La méthode convertit une liste en Chaîne . Le contentEquals() La méthode compare la chaîne au StringBuffer spécifié.

Nous avons ajouté un autre élément dans la secondeListe pour créer la différence entre les deux listes et appeler à nouveau le comparerListe() méthode, qui renvoie FAUX .

 import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ComapreArraylistExample6 { //defining method public static boolean compareList(ArrayList ls1, ArrayList ls2) { //converts List into String and checks string are equal or not return ls1.toString().contentEquals(ls2.toString())?true:false; } public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('When Lists are same: '+compareList(firstList, secondList)); //adding another element to the secondList secondList.add('C++'); //output after adding different element System.out.println('When Lists are not same: '+compareList(firstList, secondList)); } } 

Sortir

 When Lists are same: true When Lists are not same: false 

Interface de flux Java

Java Flux est une interface. Il appartient à java.util emballer. Il fournit un filtre() méthode pour filtrer les éléments du flux sur la base d’éléments donnés. C'est un intermédiaire processus.

Syntaxe

 Stream filter(Predicate predicate) 

Cette méthode accepte Prédicat (interface fonctionnelle) comme argument et renvoie un nouveau flux d'éléments résultants.

25 sur 100

méthode collect()

Une autre méthode utilisée dans l'exemple suivant est la collecter() méthode de Flux interface.

Il effectue une opération de réduction mutable sur les éléments de ce flux à l'aide d'un Collector. Le Collector encapsule les fonctions utilisées comme arguments à collecter (Supplier, BiConsumer, BiConsumer). Ça permet de réutiliser des stratégies de collecte et de la composition des opérations de collecte. C'est un Terminal opération.

Syntaxe

 R collect(Collector collector) 

Méthode Collectors.toList()

Le lister() est une méthode statique de Collectionneurs classe. Il appartient à java.util.Stream.Collectors classe.

Syntaxe

 public static Collector<t, ?, list> toList() </t,>

T est le type d'éléments. Il renvoie un Collectionneur qui rassemble tous les éléments d'entrée dans une liste, dans un ordre de rencontre (non ordonné).

Exemple

Dans l'exemple suivant, nous avons créé deux ArrayList premièreListe et secondeListe de type Chaîne. Le filtre() La méthode renvoie une liste d’éléments communs présents dans les deux listes.

 import java.util.*; public class CompareArrayListExample7 { public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;)); System.out.println(&apos;First List: &apos;+firstList); ArrayList secondList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;, &apos;Perl&apos;)); System.out.println(&apos;Second List: &apos;+secondList); // Finds common elements System.out.print(&apos;Common elements: &apos; +firstList.stream().filter(secondList::contains).collect(Collectors.toList())); } } 

Sortir

 First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]