Java에서 ArrayList 교차 및 결합
질문:
교집합 및 합집합을 수행하는 방법 Java의 ArrayList에 대한 작업? 질문을 확장하면 집합 이론의 맥락에서 파일 필터링을 위한 ArrayLists의 적용 가능성에 관한 것입니다.
답변:
ArrayLists는 교차 또는 교차에 대한 내장 메서드를 제공하지 않습니다. 노동 조합. 간단한 구현은 다음과 같습니다.
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); } }
파일 필터링 관련:
파일 수가 상대적으로 적은 경우 파일 필터링에 ArrayLists를 사용하는 것이 적합합니다. 그러나 대규모 데이터 세트의 경우 HashSet 또는 TreeSet과 같은 보다 효율적인 데이터 구조를 고려하는 것이 런타임 성능 최적화에 도움이 될 것입니다.
위 내용은 Java의 ArrayList에서 교차 및 결합 작업을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!