"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java 목록에서 중복 항목을 효율적으로 제거하는 방법은 무엇입니까?

Java 목록에서 중복 항목을 효율적으로 제거하는 방법은 무엇입니까?

2024년 11월 12일에 게시됨
검색:952

How to Efficiently Remove Duplicates from Lists in Java?

Java 목록에서 중복 항목 제거

데이터 세트로 작업할 때 목록에서 중복 요소를 제거해야 하는 경우가 많습니다. 이는 특히 데이터 무결성과 효율적인 처리를 보장하는 것과 관련이 있습니다. Java에는 이 일반적인 작업을 처리하는 몇 가지 접근 방식이 있습니다.

순진한 중복 검색

목록에서 중복 항목을 제거하려는 일반적인 시도 중 하나는 각 요소의 존재 여부를 확인하는 것입니다. contain() 메소드를 사용하여 목록 내에서. 그러나 이 접근 방식은 큰 목록의 경우 계산 비용이 많이 들고 비효율적일 수 있습니다.

List listCustomer = new ArrayList();
for (Customer customer : tmpListCustomer) {
  if (!listCustomer.contains(customer)) {
    listCustomer.add(customer);
  }
}

효율적인 중복 제거

최적의 성능과 메모리 활용을 위해 다음과 같은 대체 접근 방식을 사용하는 것이 좋습니다.

  1. LinkedHashSet: LinkedHashSet 클래스는 중복을 제거하면서 요소의 순서를 유지합니다. 목록을 LinkedHashSet으로 변환하고 다시 목록으로 변환하면 명시적인 확인 없이 원래 순서가 유지됩니다.
List depdupeCustomers =
    new ArrayList(new LinkedHashSet(customers));
  1. Set Mutation: 원본 목록을 직접 수정하려면 LinkedHashSet로 변환하여 제거하는 것이 좋습니다. 복제하고 원본 목록 업데이트:
Set depdupeCustomers = new LinkedHashSet(customers);
customers.clear();
customers.addAll(dedupeCustomers);

이러한 기술은 효율적인 데이터 구조와 알고리즘을 활용하면서 중복 요소를 효과적으로 제거하여 Java 애플리케이션에서 최적의 성능과 데이터 무결성을 보장합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3