[java] 정렬 된 컬렉션과 정렬 된 컬렉션의 차이점은 무엇입니까?

정렬 컬렉션 과 정렬 된 컬렉션 간에 차이가 있습니까?



답변

수집 순서 컬렉션의 요소가 특정 순서를 것을 의미합니다. 순서는 값과 무관합니다. 목록은 예입니다.

A는 수집 분류 컬렉션이 순서를 가지고뿐만 아니라 의미하지만, 순서는 요소의 값에 따라 달라집니다. 된 SortedSet 예이다.

반대로, 순서없는 컬렉션 은 요소를 임의의 순서로 유지할 수 있습니다. 설정은 예입니다.


답변

순서가 지정된 컬렉션은 컬렉션에 항목을 넣거나 제거하는 순서에 따라 요소의 순서를 유지합니다.

정렬 된 컬렉션은 정렬 기준에 따라 요소를 정렬 된 상태로 유지합니다.


답변

Java는 “순서 모음”을 사용하여 List와 같은 모음을 의미합니다. 여기서 HashSet과 달리 모음은 요소의 순서를 기억하므로 순서에 따라 특정 “장소”에서 요소를 모음에 추가 할 수 있습니다. .

Java는 “정렬 된 컬렉션”을 사용하여 SortedSet과 같은 컬렉션을 의미합니다. 여기서 List와 달리 이터레이터가 컬렉션을 통과하는 순서는 지정된 Comparator 또는 요소의 자연 순서에 따릅니다.

차이점은 순서가 값에 따라 달라지는 지 ( “정렬 된”) 요소가 값과 독립적으로 갖는 속성 ( “순서”)인지입니다.


답변

예, 개념은 비슷하지만

List 정렬 된 컬렉션 : 각 요소에는 요소의 순서를 구성하는 색인이 있지만 일반적으로 요소 자체의 속성과 관련이 없습니다.

SortedMap그리고 SortedSet수집, 수집은 소자 자체에서 유래하는 순서로 일어날 것을 반복 처리 수단에 정렬된다. 예를 들어, SortedSet<String>문자열이 있으면 사전 식 정렬 순서에 따라 문자열이 정렬됩니다.

주문한 컬렉션 정렬 수 있지만 Collections.sort()외부 순서가 요소의 정렬 순서와 동일 할 때 (예 :을 사용한 후 ) 정렬 필요는 없습니다 . 정렬 된 컬렉션은 항상 암시 적으로 정렬됩니다 (즉, 항상 “첫 번째”요소가 있으며 더 작은 다른 요소를 추가하지 않는 한 항상 동일합니다).


답변

정렬 된 컬렉션은 모든 요소가 삽입되는 연속 인덱스를 추적하는 컬렉션입니다.

정렬 된 컬렉션은 정렬 기준을 정의하는 방법을 제공하는 Comparable 인터페이스를 사용하는 동안 주문이 삽입 될 요소의 값에 추가로 의존 할 때 정렬 된 컬렉션입니다.

도움이 되길 바랍니다.


답변

정렬은 Comparable 또는 Comparator의 구현에 따른 순서를 의미합니다. Ordered는 삽입 순서 또는 일관성 있고 정의 된 임의의 다른 순서의 순서를 따르고 있음을 의미합니다.

따라서 정렬 된 문자열 목록은 String.compareTo 메서드에 따라 정렬됩니다. 목록에는 임의의 순서로 삽입 된 문자열 목록이 포함될 수 있지만 순서는 항상 동일하게 유지됩니다.

물론 Collections 클래스에는 목록을 정렬하는 메소드가 있습니다.


답변

정렬 된 컬렉션은 일반적으로 알고리즘이 작동하는 요소의 속성에 따라 요소가 최소값에서 최대 값으로 또는 그 반대로 정렬됨을 의미합니다.

interger 수집의 경우, 개인 수집의 경우 최소 수에서 최대 수까지 정렬 될 수 있으며, 사람의 키 또는 사람의 무게 등에 의해 파종 될 수 있습니다.

순서에 관해 말할 때, 그것은 일반적으로 삽입 순서를 의미합니다. 정렬 후 순서가 변경 될 수 있습니다