En Java, la comparaison de deux listes peut être réalisée grâce à diverses méthodes et structures de données. Cet article explore plusieurs approches pour comparer des listes, en se concentrant sur la recherche d'éléments à la fois similaires et différents.
ArrayList et retentionAll Method
L'utilisation d'un ArrayList et de la méthode retentionAll vous permet de conserver uniquement les éléments contenus dans les deux listes.
import java.util.Collection; import java.util.ArrayList; public class ListComparison { public static void main(String[] args) { Collection<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta")); Collection<String> list2 = new ArrayList<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo")); list1.retainAll(list2); System.out.println("Common elements: " + list1); } }
HashSet et RemoveAll Méthode
Si vous avez besoin de trouver non seulement des éléments communs mais également des éléments différents, l'utilisation d'un HashSet et de la méthode removeAll est une approche appropriée. Un HashSet n'autorise pas les doublons, il peut donc éliminer les valeurs répétées.
import java.util.Collection; import java.util.HashSet; public class ListComparison2 { public static void main(String[] args) { Collection<String> list1 = Arrays.asList("milan", "iga", "dingo", "iga", "elpha", "iga", "hafil", "iga", "meat", "iga", "neeta.peeta", "iga"); Collection<String> list2 = Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo"); Collection<String> common = new HashSet<>(list1); Collection<String> different = new HashSet<>(); different.addAll(list1); different.addAll(list2); common.retainAll(list2); different.removeAll(common); System.out.printf("Common elements: %s%nDifferent elements: %s%n", common, different); } }
Approche personnalisée
Vous pouvez également créer une méthode personnalisée pour comparer les listes et renvoyer les éléments communs et différents. Cela offre plus de flexibilité et d'options de personnalisation.
public class CustomListComparison { public static void main(String[] args) { List<String> list1 = Arrays.asList("milan", "dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta"); List<String> list2 = Arrays.asList("hafil", "iga", "binga", "mike", "dingo"); List<String> common = new ArrayList<>(); List<String> different = new ArrayList<>(); for (String element : list1) { if (list2.contains(element)) { common.add(element); } else { different.add(element); } } for (String element : list2) { if (!list1.contains(element)) { different.add(element); } } System.out.printf("Common elements: %s%nDifferent elements: %s%n", common, different); } }
En tirant parti de ces techniques, vous pouvez comparer efficacement deux listes en Java, en identifiant à la fois les éléments communs et différents
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!