Java에서는 다양한 방법과 데이터 구조를 통해 두 목록을 비교할 수 있습니다. 이 기사에서는 유사한 요소와 다른 요소를 모두 찾는 데 초점을 맞춰 목록을 비교하는 여러 가지 접근 방식을 살펴봅니다.
ArrayList 및 keepAll 메서드
ArrayList 및 keepAll 메서드를 사용하면 다음을 수행할 수 있습니다. 두 목록에 모두 포함된 요소만 유지합니다.
import java.util.Collection; import java.util.ArrayList; public class ListComparison { public static void main(String[] args) { Collection<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta")); Collection<String> list2 = new ArrayList<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo")); list1.retainAll(list2); System.out.println("Common elements: " + list1); } }
HashSet 및 RemoveAll 메소드
공통 요소뿐만 아니라 서로 다른 요소도 찾고 싶다면 HashSet과 RemoveAll 메소드를 사용하는 것이 적합한 접근 방식입니다. HashSet은 중복을 허용하지 않으므로 반복되는 값을 제거할 수 있습니다.
import java.util.Collection; import java.util.HashSet; public class ListComparison2 { public static void main(String[] args) { Collection<String> list1 = Arrays.asList("milan", "iga", "dingo", "iga", "elpha", "iga", "hafil", "iga", "meat", "iga", "neeta.peeta", "iga"); Collection<String> list2 = Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo"); Collection<String> common = new HashSet<>(list1); Collection<String> different = new HashSet<>(); different.addAll(list1); different.addAll(list2); common.retainAll(list2); different.removeAll(common); System.out.printf("Common elements: %s%nDifferent elements: %s%n", common, different); } }
사용자 지정 접근 방식
또는 사용자 지정 방법을 만들어 목록과 항목을 비교할 수도 있습니다. 공통 요소와 다른 요소를 반환합니다. 이는 더 많은 유연성과 사용자 정의 옵션을 제공합니다.
public class CustomListComparison { public static void main(String[] args) { List<String> list1 = Arrays.asList("milan", "dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta"); List<String> list2 = Arrays.asList("hafil", "iga", "binga", "mike", "dingo"); List<String> common = new ArrayList<>(); List<String> different = new ArrayList<>(); for (String element : list1) { if (list2.contains(element)) { common.add(element); } else { different.add(element); } } for (String element : list2) { if (!list1.contains(element)) { different.add(element); } } System.out.printf("Common elements: %s%nDifferent elements: %s%n", common, different); } }
이러한 기술을 활용하면 Java의 두 목록을 효율적으로 비교하여 공통 요소와 서로 다른 요소를 모두 식별할 수 있습니다
위 내용은 공통 요소와 다른 요소를 모두 찾기 위해 Java의 두 목록을 효율적으로 비교하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!