Maison >Java >javaDidacticiel >Comment puis-je trouver des éléments communs entre deux listes en Java ?
Recherche d'éléments communs dans les listes
Pour identifier les éléments partagés entre deux listes, vous pouvez utiliser Collection#retainAll(). En utilisant cette méthode, vous pouvez facilement conserver uniquement les éléments présents dans les deux listes, éliminant ainsi efficacement tout élément unique de l'une ou l'autre liste.
listA.retainAll(listB); // listA now contains only the elements also contained in listB.
Alternativement, si vous souhaitez conserver la liste A d'origine, vous pouvez créer un nouvelle liste pour contenir les éléments communs :
List<Integer> common = new ArrayList<>(listA); common.retainAll(listB); // common now contains only the elements contained in both listA and listB.
Pour les amateurs de streams, une approche astucieuse consiste à filtrer en fonction du confinement à l'aide de Stream#filter() et Collection#contains() :
List<Integer> common = listA.stream().filter(listB::contains).toList(); // common now contains only the elements contained in both listA and listB.
Bien que cela puisse paraître plus concis, son exécution est également au moins deux fois plus lente.
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!