Maison >Java >javaDidacticiel >Comment effectuer des opérations d'intersection et d'union sur des ArrayLists en Java ?
Intersectation et unification de listes de tableaux en Java
Question :
Comment effectuer une intersection et une union opérations sur ArrayLists en Java ? L'extension de la question concerne l'applicabilité des ArrayLists pour le filtrage de fichiers dans le contexte de la théorie des ensembles.
Réponse :
Les ArrayLists n'offrent aucune méthode intégrée pour l'intersection ou union. Une implémentation simple est fournie ci-dessous :
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class ArrayListOperations { public static void main(String[] args) { List<String> list1 = new ArrayList<>(Arrays.asList("A", "B", "C")); List<String> list2 = new ArrayList<>(Arrays.asList("B", "C", "D", "E", "F")); System.out.println(intersection(list1, list2)); System.out.println(union(list1, list2)); } 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); } }
Concernant le filtrage de fichiers :
L'utilisation de ArrayLists pour le filtrage de fichiers est appropriée si le nombre de fichiers est relativement faible. Cependant, pour les ensembles de données plus volumineux, envisager une structure de données plus efficace comme un HashSet ou un TreeSet serait bénéfique pour optimiser les performances d'exécution.
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!