목록에서 중복 제거
Java에서 목록 작업을 할 때 중복 요소를 제거해야 할 수도 있습니다. 일반적인 시도 중 하나는 for 루프를 사용하여 각 요소를 추가하기 전에 목록에 이미 있는지 확인하는 것입니다. 그러나 이 접근 방식은 비효율적일 수 있으며 오류가 발생하기 쉽습니다.
문제:
고객 개체 목록에서 중복 항목을 제거하려고 할 때 문제가 발생한다고 설명하셨습니다. 코드에서는 for 루프를 사용하여 고객을 추가하기 전에 목록에 고객이 아직 없는지 확인합니다.
해결책:
제공된 솔루션은 보다 효율적이고 목록의 원래 순서를 유지하면서 중복 항목을 제거하는 간결한 접근 방식입니다. 삽입 순서에 따라 요소의 연결된 목록을 유지하고 중복 항목을 자동으로 제거하는 LinkedHashSet 클래스를 활용합니다.
LinkedHashSet 사용:
다음 코드 조각은 방법을 보여줍니다. LinkedHashSet을 사용하여 주문을 유지하면서 중복 항목을 제거하려면:
<code class="java">List<Customer> depdupeCustomers = new ArrayList<>(new LinkedHashSet<>(customers));</code>
이 줄은 고객 목록에서 새로운 LinkedHashSet을 생성하여 고유한 고객 집합을 만듭니다. 그런 다음 집합은 순서가 지정된 목록(ArrayList)으로 다시 변환됩니다.
원본 목록 수정:
원본 목록을 변경하려면 다음을 사용할 수 있습니다. 다음 코드:
<code class="java">Set<Customer> depdupeCustomers = new LinkedHashSet<>(customers); customers.clear(); customers.addAll(dedupeCustomers);</code>
이 코드는 목록을 LinkedHashSet으로 변환하고, 중복 항목을 제거하고, 원본 목록을 지운 다음 고유 요소를 다시 추가하여 원본 목록에서 중복 항목을 효과적으로 제거합니다.
위 내용은 순서를 유지하면서 Java 목록에서 중복 항목을 어떻게 제거할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!