>  기사  >  Java  >  Java에서 다른 목록의 순서에 따라 목록을 정렬하는 방법은 무엇입니까?

Java에서 다른 목록의 순서에 따라 목록을 정렬하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-01 09:53:30668검색

How to Sort a List Based on the Order of Another List in Java?

주어진 순서에 따라 목록 정렬

Java에서는 한 목록을 다른 목록의 순서에 따라 정렬하는 것이 가능합니다. 이는 데이터베이스에서 항목을 검색할 때 항목의 순서를 유지하거나 사용자 기본 설정에 따라 요소 목록을 다시 정렬하는 등 다양한 시나리오에서 유용할 수 있습니다.

이를 달성하기 위해 Java의 Collections.sort( ) 메서드는 Comparator를 인수로 사용합니다. Comparator는 목록의 요소에 대한 순서 규칙을 정의합니다.

Java 8 솔루션

Java 8에서는 Comparator.comparing()을 사용하여 목록을 정렬할 수 있습니다. 순서가 지정된 목록의 indexOf() 메서드를 기반으로 합니다. 다음 코드 조각은 이 접근 방식을 보여줍니다.

<code class="java">Collections.sort(listToSort, Comparator.comparing(item -> listWithOrder.indexOf(item)));</code>

최적화된 Java 8 솔루션

성능 향상을 위해 다음과 같이 Comparator.comparingInt()를 대신 사용할 수 있습니다. 다음 코드는 다음과 같습니다.

<code class="java">listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));</code>

한 목록을 다른 목록의 순서에 따라 정렬하면 정렬된 목록의 요소가 정렬된 목록의 요소와 동일한 상대 순서를 유지하도록 할 수 있습니다. 이는 Java 프로그래밍의 다양한 애플리케이션에 사용할 수 있는 강력한 기술입니다.

위 내용은 Java에서 다른 목록의 순서에 따라 목록을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.