JavaTM Platform
Standard Ed. 6

java.util
인터페이스 SortedSet<E>

형태 파라미터:
E - 이 세트가 보관 유지하는 요소의 형태
모든 슈퍼 인터페이스:
Collection <E>, Iterable <E>, Set <E>
기존의 서브 인터페이스의 일람:
NavigableSet <E>
기존의 구현 클래스의 일람:
ConcurrentSkipListSet , TreeSet


public interface SortedSet<E>
extends Set <E>

요소에 대해서 「전체 순서 붙이고」를 추가 제공하는 Set 입니다. 요소의 순서부는,자연 순서부 를 사용해 행해지는지, 소트 세트 구축시에 일반적으로 제공되는 Comparator 를 사용해 행해집니다. 세트의 반복자는, 세트를 요소의 승순으로 횡단(traverse) 합니다. 그 순서부를 이용하기 위해서, 추가의 오퍼레이션이 몇개인가 제공되고 있습니다. 이 인터페이스는 세트로,SortedMap 에 유사하고 있습니다.

소트 세트에 삽입되는 모든 요소는,Comparable 인터페이스를 구현하는지, 지정된 Comparator에 의해 받아들일 수 있을 필요가 있습니다. 게다가 각 요소는 「서로 비교 가능」일 필요가 있습니다. 즉,e1.compareTo(e2) (또는 comparator.compare(e1, e2))는, 소트 세트내의 어떠한 요소 e1e2 에 대해서도 ClassCastException 를 throw 해서는 안됩니다. 이 제약에 위반하면(자), 그 위반측의 메소드나 생성자 의 호출은 ClassCastException 를 throw 합니다.

어느 소트 세트가 Set 인터페이스를 올바르게 구현하려면 , 명시적인 Comparator가 제공되고 있는지 어떤지에 관계없이, 그 소트 세트에 의해 유지되는 순서부가 「equals 와의 일관성」이 있는 것 나오지 않으면 안 되는 것에 주의해 주세요. ( 「equals 와의 일관성」의 정확한 정의에 대해서는,Comparable 인터페이스 또는 Comparator 인터페이스를 참조. )이것은 Set 인터페이스가 equals 오퍼레이션에 근거해 정의되기 (위해)때문에입니다만, 소트 세트는 그 compareTo 메소드 또는 compare 메소드를 사용해 모든 요소 비교를 실행하므로, 이 메소드에 의해 등가라고 보여지는 2 개의 요소는, 소트 세트의 견지로부터 하면 같은 것입니다. 소트 세트의 동작은, 그 순서부가 equals 와 일관성이 없는 경우에서도 명확하게 정의되고 있습니다. 즉, 소트 세트의 동작은 Set 인터페이스의 일반 규약에 따르고 있지 않습니다.

모든 범용의 소트 세트 구현 클래스가 4 개의 표준 생성자 을 제공하도록 해 주세요. 1) void (인수 없음의) 생성자. 이것은, 요소의 자연 순서부에 따라 소트 된 빈 상태(empty)의 소트 세트를 작성합니다. 2) Comparator 형의 단일 인수를 가지는 생성자. 이것은, 지정된 Comparator에 따라 소트 된 빈 상태(empty)의 소트 세트를 작성합니다. 3) Collection 형의 단일 인수를 가지는 생성자. 이것은, 요소의 자연 순서부에 따라 소트 된, 그 인수와 같은 요소를 포함한 새로운 소트 세트를 작성합니다. 4) SortedSet 형의 단일 인수를 가지는 생성자. 이것은, 입력의 소트 세트와 동일한 요소와 순서부를 가지는 새로운 소트 세트를 작성합니다. 이 추천을 강제하는 방법은 없습니다. 왜냐하면, 인터페이스에는 생성자 을 포함할 수가 없기 때문입니다.

주:일부의 메소드는, 제한된 범위를 가지는 부분집합을 돌려줍니다. 그러한 범위는 「한쪽 편이 열리며」있습니다. 즉, 그러한 범위에는, 하단점은 포함됩니다만 상단점은 포함되지 않습니다 (해당하는 경우). 상하단점을 포함한 「닫은 범위」가 필요해, 요소의 형태에 의해 직후의 요소의 계산이 가능하게 되는 경우, 단지 lowEndpoint ~ successor(highEndpoint) 의 부분 범위를 지정해 주세요. 예를 들어,s 가 캐릭터 라인의 소트 세트이다고 합니다. 다음의 관용법은,s 내의 low ~ high 의 모든 캐릭터 라인 (상하단점을 포함한다)을 보관 유지하는 뷰를 가져옵니다.

SortedSet<String> sub = s.subSet(low, high+"\0");
같은 테크닉을 사용해, 상하단점의 어느쪽이나 포함하지 않는 「연 범위」를 생성할 수 있습니다. 다음의 관용법은,s 내의 low 로부터 high 까지의 모든 String (상하단점을 포함하지 않는다)를 보관 유지하는 뷰를 가져옵니다.
SortedSet<String> sub = s.subSet(low+"\0", high);

이 인터페이스는,Java Collections Framework 의 멤버입니다.

도입된 버젼:
1.2
관련 항목:
Set , TreeSet , SortedMap , Collection , Comparable , Comparator , ClassCastException

메소드의 개요
 Comparator <? super E > comparator ()
          이 세트내의 요소를 순서 붙이고 하는데 사용하는 Comparator를 돌려줍니다.
 E first ()
          세트내에 현재 있는 최초 (하단)의 요소를 돌려줍니다.
 SortedSet <E > headSet (E  toElement)
          세트의 toElement 보다 작은 요소를 가지는 부분의 뷰를 돌려줍니다.
 E last ()
          세트내에 현재 있는 최후 (상단)의 요소를 돌려줍니다.
 SortedSet <E > subSet (E  fromElement, E  toElement)
          세트의 fromElement (이것을 포함한다) ~ toElement (이것을 포함하지 않는다)의 요소 범위를 가지는 부분의 뷰를 돌려줍니다.
 SortedSet <E > tailSet (E  fromElement)
          세트의 fromElement 에 동일한가 이것보다 큰 요소를 가지는 부분의 뷰를 돌려줍니다.
 
인터페이스 java.util. Set 로부터 상속된 메소드
add , addAll , clear , contains , containsAll , equals , hashCode , isEmpty , iterator , remove , removeAll , retainAll , size , toArray , toArray
 

메소드의 상세

comparator

Comparator <?  super E > comparator()
이 세트내의 요소를 순서 붙이고 하는데 사용하는 Comparator를 돌려줍니다. 다만, 이 세트가 그 요소 자연 순서부 를 사용하는 경우는 null 를 돌려줍니다.

반환값:
이 세트내의 요소를 순서 붙이고 하는데 사용하는 Comparator. 다만, 이 세트가 그 요소의 자연 순서부를 사용하는 경우는 null

subSet

SortedSet <E > subSet(E  fromElement,
                    E  toElement)
세트의 fromElement (이것을 포함한다) ~ toElement (이것을 포함하지 않는다)의 요소 범위를 가지는 부분의 뷰를 돌려줍니다. fromElementtoElement 가 동일한 경우는, 빈 상태(empty)세트가 돌려주어집니다. 반환되는 세트는 이 세트에 연동하고 있어, 반환되는 세트에서의 변경은 이 세트에 반영되어 그 역의 경우도 같습니다. 반환되는 세트는, 이 세트가 지원하는 옵션세트 오퍼레이션을 모두 지원합니다.

반환된 세트는, 그 범위외의 요소가 삽입되려고 하면(자),IllegalArgumentException 를 throw 합니다.

파라미터:
fromElement - 반환되는 세트의 하단점 (이것을 포함한다)
toElement - 반환되는 세트의 상단점 (이것을 포함하지 않는다)
반환값:
세트의 fromElement (이것을 포함한다) ~ toElement (이것을 포함하지 않는다)의 요소 범위를 가지는 부분의 뷰
예외:
ClassCastException - 이 세트의 Comparator를 사용해 (이 세트가 Comparator를 가지지 않는 경우는 자연 순서부를 사용해) fromElementtoElement 와의 상호 비교를 실시할 수 없는 경우. 구현은, 세트내에 현재 존재하고 있는 요소와 fromElement 또는 toElement 를 비교할 수 없는 경우에 이 예외를 throw 할 수가 있다. 다만, 필수는 아니다
NullPointerException - fromElement 또는 toElement 가 null 이며, 이 세트가 null 요소를 허가하지 않는 경우
IllegalArgumentException - fromElementtoElement 보다 큰 경우, 또는 이 세트 자체가 제한된 범위를 가지고 있어fromElement 또는 toElement 가 그 범위의 경계의 외측에 있는 경우

headSet

SortedSet <E > headSet(E  toElement)
세트의 toElement 보다 작은 요소를 가지는 부분의 뷰를 돌려줍니다. 반환되는 세트는 이 세트에 연동하고 있어, 반환되는 세트에서의 변경은 이 세트에 반영되어 그 역의 경우도 같습니다. 반환되는 세트는, 이 세트가 지원하는 옵션세트 오퍼레이션을 모두 지원합니다.

반환된 세트는, 그 범위외의 요소가 삽입되려고 하면(자),IllegalArgumentException 를 throw 합니다.

파라미터:
toElement - 반환되는 세트의 상단점 (이것을 포함하지 않는다)
반환값:
세트의 toElement 보다 작은 요소를 가지는 부분의 뷰
예외:
ClassCastException - toElement 가 세트의 Comparator와 호환성이 없는 경우 (또는, 세트에 Comparator가 없는 경우,toElementComparable 가 구현되어 있지 않은 경우). 구현은, 세트내에 현재 존재하고 있는 요소와 toElement 를 비교할 수 없는 경우에 이 예외를 throw 할 수가 있다. 다만, 필수는 아니다
NullPointerException - toElement 가 null 이며, 이 세트가 null 요소를 허가하지 않는 경우
IllegalArgumentException - 이 세트 자체가 제한된 범위를 가지고 있어toElement 가 그 범위의 경계의 외측에 있는 경우

tailSet

SortedSet <E > tailSet(E  fromElement)
세트의 fromElement 에 동일한가 이것보다 큰 요소를 가지는 부분의 뷰를 돌려줍니다. 반환되는 세트는 이 세트에 연동하고 있어, 반환되는 세트에서의 변경은 이 세트에 반영되어 그 역의 경우도 같습니다. 반환되는 세트는, 이 세트가 지원하는 옵션세트 오퍼레이션을 모두 지원합니다.

반환된 세트는, 그 범위외의 요소가 삽입되려고 하면(자),IllegalArgumentException 를 throw 합니다.

파라미터:
fromElement - 반환되는 세트의 하단점 (이것을 포함한다)
반환값:
세트의 fromElement 에 동일한가 이것보다 큰 요소를 가지는 부분의 뷰
예외:
ClassCastException - fromElement 가 이 세트의 Comparator와 호환성이 없는 경우 (또는, 세트에 Comparator가 없는 경우, fromElementComparable 가 구현되어 있지 않은 경우). 구현은, 세트내에 현재 존재하고 있는 요소와 fromElement 를 비교할 수 없는 경우에 이 예외를 throw 할 수가 있다. 다만, 필수는 아니다
NullPointerException - fromElement 가 null 이며, 이 세트가 null 요소를 허가하지 않는 경우
IllegalArgumentException - 이 세트 자체가 제한된 범위를 가지고 있어fromElement 가 그 범위의 경계의 외측에 있는 경우

first

E  first()
세트내에 현재 있는 최초 (하단)의 요소를 돌려줍니다.

반환값:
세트내에 현재 있는 최초 (하단)의 요소
예외:
NoSuchElementException - 세트가 빈 상태(empty)의 경우

last

E  last()
세트내에 현재 있는 최후 (상단)의 요소를 돌려줍니다.

반환값:
세트내에 현재 있는 최후 (상단)의 요소
예외:
NoSuchElementException - 세트가 빈 상태(empty)의 경우

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.