Maison >Java >javaDidacticiel >Comment puis-je comparer efficacement deux listes en Java pour trouver des éléments partagés et uniques ?
Java Comparer deux listes
Comparer deux listes pour déterminer le nombre d'éléments partagés et identifier à la fois les éléments similaires et différents peut être réalisé en utilisant Collections Java.
Pour déterminer efficacement les éléments partagés, pensez à utiliser la méthode retentionAll, qui modifie la première liste pour contenir uniquement les éléments présents dans les deux listes. Par exemple, étant donné deux listes "milan" et "hafil", l'opération retentionAll modifierait une liste pour qu'elle contienne uniquement "milan".
Pour obtenir à la fois des éléments similaires et différents, vous pouvez utiliser un Set. La méthode RemoveAll peut être utilisée pour exclure tous les éléments de l'ensemble qui ne sont pas partagés entre les listes. L'ensemble résultant contiendra les éléments similaires, tandis que les différents éléments peuvent être obtenus en calculant l'union des deux listes et en excluant ensuite les éléments similaires.
Voici un exemple d'extrait de code utilisant un ensemble à des fins de comparaison :
import java.util.Collection; import java.util.HashSet; import java.util.Arrays; class Repeated { public static void main(String[] args) { Collection<String> listOne = Arrays.asList("milan", "iga", "dingo", "elpha", "hafil", "meat", "neeta.peeta"); Collection<String> listTwo = Arrays.asList("hafil", "iga", "binga", "mike", "dingo"); Collection<String> similar = new HashSet<>(listOne); Collection<String> different = new HashSet<>(); different.addAll(listOne); different.addAll(listTwo); similar.retainAll(listTwo); different.removeAll(similar); System.out.printf("One:%s%nTwo:%s%nSimilar:%s%nDifferent:%s%n", listOne, listTwo, similar, different); } }
Sortie :
One:[milan, iga, dingo, elpha, hafil, meat, neeta.peeta] Two:[hafil, iga, binga, mike, dingo] Similar:[dingo, iga, hafil] Different:[mike, binga, milan, meat, elpha, neeta.peeta]
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!