> Java > java지도 시간 > 순서를 유지하면서 Java 목록에서 중복 항목을 어떻게 제거할 수 있습니까?

순서를 유지하면서 Java 목록에서 중복 항목을 어떻게 제거할 수 있습니까?

Patricia Arquette
풀어 주다: 2024-11-03 18:19:03
원래의
742명이 탐색했습니다.

How Can I Remove Duplicates from a List in Java While Maintaining Order?

목록에서 중복 제거

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿