Dans ce scénario de programmation, nous visons à déterminer le nombre d'éléments communs entre deux listes, ainsi qu'à identifier à la fois les éléments similaires et distincts. valeurs.
Pour y parvenir, on peut utiliser le framework de collection de Java et plus particulièrement les classes ArrayList ou HashSet. La méthode containAll dans ArrayList conserve uniquement les éléments partagés par les deux listes, fournissant un décompte des éléments communs (trois dans ce cas).
Par exemple :
import java.util.ArrayList; import java.util.Arrays; public class CompareLists { public static void main(String[] args) { ArrayList<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "iga", "elpha", "hafil", "meat", "iga", "milan", "elpha", "meat", "iga")); ArrayList<String> list2 = new ArrayList<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo")); list1.retainAll(list2); System.out.println(list1); } }
Alternativement, l'utilisation de HashSet pour la deuxième liste permet une comparaison plus efficace :
import java.util.HashSet; import java.util.Arrays; public class CompareLists { public static void main(String[] args) { ArrayList<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "iga", "elpha", "hafil", "meat", "iga", "milan", "elpha", "meat", "iga")); HashSet<String> list2 = new HashSet<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo")); Set<String> common = new HashSet<>(list1); common.retainAll(list2); Set<String> unique = new HashSet<>(list1); unique.addAll(list2); unique.removeAll(common); System.out.println("Common: " + common); System.out.println("Distinct: " + unique); } }
Cette version identifie à la fois les valeurs communes et distinctes, en gérant les valeurs répétées efficacement.
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!