Maison >Java >javaDidacticiel >Comment puis-je trouver efficacement l'intersection et l'union des ArrayLists en Java ?
Recherche d'intersections et d'unions de ArrayLists en Java
En travaillant avec des ArrayLists, il est souvent nécessaire de trouver l'intersection ou l'union de deux ou plus de listes. Cela peut être utile pour des tâches telles que le filtrage de fichiers ou la combinaison de données provenant de plusieurs sources.
Méthodes d'intersection et d'union
Java fournit plusieurs méthodes pour effectuer des intersections et des unions sur des ArrayLists. :
Ces méthodes modifient les ArrayLists d'origine, ce qui peut ne pas être souhaitable dans tous les cas. Alternativement, vous pouvez implémenter vos propres méthodes pour gérer les intersections et les unions sans modifier les listes d'origine :
public static <T> List<T> intersection(List<T> list1, List<T> list2) { List<T> list = new ArrayList<>(); for (T t : list1) { if (list2.contains(t)) { list.add(t); } } return list; } public static <T> List<T> union(List<T> list1, List<T> list2) { Set<T> set = new HashSet<>(); set.addAll(list1); set.addAll(list2); return new ArrayList<>(set); }
Structures de données alternatives
Une ArrayList est une structure de données mutable qui permet des éléments en double. Pour les opérations sur les ensembles, vous pouvez envisager d'utiliser une structure de données différente :
En choisissant la structure de données appropriée pour votre tâche, vous pouvez optimiser le temps d'exécution et l'utilisation de la mémoire de votre code.
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!