JavaTM Platform
Standard Ed. 6

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

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


public interface NavigableSet<E>
extends SortedSet <E>

지정된 타겟으로 가장 가까운 요소를 보고하는 네비게이션 메소드로 확장된 SortedSet 입니다. lower,floor,ceiling,higher 메소드는 각각, 지정된 요소보다 작은 요소, 작은가 동일한 요소, 큰가 동일한 요소, 큰 요소를 돌려줍니다. 다만, 그러한 요소가 존재하지 않는 경우는 null 를 돌려줍니다. NavigableSet 에의 액세스나 횡단(traverse)은, 승순, 내림차순의 어느쪽이든으로 실시할 수 있습니다. descendingSet 메소드로부터 반환되는 이 세트의 뷰에서는, 관계나 방향에 관한 메소드가 모두 반전되었는지와 같이 느껴집니다. 오퍼레이션이나 뷰의 퍼포먼스는 일반적으로, 내림차순보다 승순 쪽이 고속으로 됩니다. 이 인터페이스에는 게다가pollFirstpollLast 메소드도 정의되고 있습니다. 이러한 메소드는 각각, 최하정도의 요소, 최상정도의 요소가 존재하는 경우는 그것을 돌려주어 삭제해, 그 이외의 경우는 null 를 돌려줍니다. subSet,headSet, 및 tailSet 메소드는, 하한과 상한을 포함할지 어떨지를 기술하는 추가의 인수를 받는다고 하는 점으로써,SortedSet 의 유사한 이름을 가지는 메소드와는 다릅니다. 임의의 NavigableSet 의 부분집합은,NavigableSet 인터페이스를 구현합니다.

null 요소를 허가하는 구현에서는, 네비게이션 메소드의 반환값이 애매하게 될 가능성이 있습니다. 다만, 그 경우에서도,contains(null) 를 체크하는 것으로, 그 결과의 애매함을 명확하게 할 수가 있습니다. 그러한 문제를 회피하기 위해(때문에), 이 인터페이스의 구현에서는,null 요소의 삽입을 허가하지 않게 하는 것을 추천합니다. (Comparable 요소로부터 완성되는 소트 세트는 본래,null 를 허가하지 않는 것에 주의하는 것. )

메소드 subSet(E, E) ,headSet(E) , 및 tailSet(E)SortedSet 를 돌려주는 스펙이 되어 있는 것은, 기존의 SortedSet 구현을 호환성을 유지하면서 개량해 NavigableSet 를 구현할 수 있도록(듯이) 하기 (위해)때문에입니다. 다만, 이 인터페이스의 확장이나 구현에서는, 이러한 메소드를 오버라이드(override) 해 NavigableSet 가 돌려주어지도록(듯이) 하는 것을 추천합니다.

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

도입된 버젼:
1.6

메소드의 개요
 E ceiling (E  e)
          이 세트내에서, 지정된 요소와 동일한가 그것보다 큰 요소 속에서 최소의 것을 돌려줍니다.
 Iterator <E > descendingIterator ()
          이 세트의 요소의 반복자를 내림차순으로 돌려줍니다.
 NavigableSet <E > descendingSet ()
          이 세트에 포함되는 요소의 역순서의 뷰를 돌려줍니다.
 E floor (E  e)
          이 세트내에서, 지정된 요소와 동일한가 그것보다 작은 요소 속에서 최대의 것을 돌려줍니다.
 SortedSet <E > headSet (E  toElement)
          세트의 toElement 보다 작은 요소를 가지는 부분의 뷰를 돌려줍니다.
 NavigableSet <E > headSet (E  toElement, boolean inclusive)
          이 세트의 toElement 보다 작은 요소 (inclusive 가 true 의 경우는 그것보다 작은가 그것과 동일한 요소)를 포함한 부분의 뷰를 돌려줍니다.
 E higher (E  e)
          이 세트내에서, 지정된 요소보다 확실히 큰 요소 속에서 최소의 것을 돌려줍니다.
 Iterator <E > iterator ()
          이 세트의 요소의 반복자를 승순으로 돌려줍니다.
 E lower (E  e)
          이 세트내에서, 지정된 요소보다 확실히 작은 요소 속에서 최대의 것을 돌려줍니다.
 E pollFirst ()
          최초 (하단)의 요소를 취득해 삭제합니다.
 E pollLast ()
          최후 (상단)의 요소를 취득해 삭제합니다.
 NavigableSet <E > subSet (E  fromElement, boolean fromInclusive, E  toElement, boolean toInclusive)
          세트의 fromElement ~ toElement 의 요소 범위를 가지는 부분의 뷰를 돌려줍니다.
 SortedSet <E > subSet (E  fromElement, E  toElement)
          세트의 fromElement (이것을 포함한다) ~ toElement (이것을 포함하지 않는다)의 요소 범위를 가지는 부분의 뷰를 돌려줍니다.
 SortedSet <E > tailSet (E  fromElement)
          세트의 fromElement 에 동일한가 이것보다 큰 요소를 가지는 부분의 뷰를 돌려줍니다.
 NavigableSet <E > tailSet (E  fromElement, boolean inclusive)
          이 세트의 fromElement 보다 큰 요소 (inclusive 가 true 의 경우는 그것보다 큰가 그것과 동일한 요소)를 포함한 부분의 뷰를 돌려줍니다.
 
인터페이스 java.util. SortedSet 로부터 상속된 메소드
comparator , first , last
 
인터페이스 java.util. Set 로부터 상속된 메소드
add , addAll , clear , contains , containsAll , equals , hashCode , isEmpty , remove , removeAll , retainAll , size , toArray , toArray
 

메소드의 상세

lower

E  lower(E  e)
이 세트내에서, 지정된 요소보다 확실히 작은 요소 속에서 최대의 것을 돌려줍니다. 그러한 요소가 존재하지 않는 경우는 null 를 돌려줍니다.

파라미터:
e - 조합하는 값
반환값:
e 보다 작은 요소 속에서 최대의 것. 그러한 요소가 존재하지 않는 경우는 null
예외:
ClassCastException - 지정된 요소를, 세트내에 현재 존재하고 있는 요소와 비교할 수 없는 경우
NullPointerException - 지정된 요소가 null 이며, 이 세트가 null 요소를 허가하지 않는 경우

floor

E  floor(E  e)
이 세트내에서, 지정된 요소와 동일한가 그것보다 작은 요소 속에서 최대의 것을 돌려줍니다. 그러한 요소가 존재하지 않는 경우는 null 를 돌려줍니다.

파라미터:
e - 조합하는 값
반환값:
e 와 동일한가 그것보다 작은 요소 속에서 최대의 것. 그러한 요소가 존재하지 않는 경우는 null
예외:
ClassCastException - 지정된 요소를, 세트내에 현재 존재하고 있는 요소와 비교할 수 없는 경우
NullPointerException - 지정된 요소가 null 이며, 이 세트가 null 요소를 허가하지 않는 경우

ceiling

E  ceiling(E  e)
이 세트내에서, 지정된 요소와 동일한가 그것보다 큰 요소 속에서 최소의 것을 돌려줍니다. 그러한 요소가 존재하지 않는 경우는 null 를 돌려줍니다.

파라미터:
e - 조합하는 값
반환값:
e 와 동일한가 그것보다 큰 요소 속에서 최소의 것. 그러한 요소가 존재하지 않는 경우는 null
예외:
ClassCastException - 지정된 요소를, 세트내에 현재 존재하고 있는 요소와 비교할 수 없는 경우
NullPointerException - 지정된 요소가 null 이며, 이 세트가 null 요소를 허가하지 않는 경우

higher

E  higher(E  e)
이 세트내에서, 지정된 요소보다 확실히 큰 요소 속에서 최소의 것을 돌려줍니다. 그러한 요소가 존재하지 않는 경우는 null 를 돌려줍니다.

파라미터:
e - 조합하는 값
반환값:
e 보다 큰 요소 속에서 최소의 것. 그러한 요소가 존재하지 않는 경우는 null
예외:
ClassCastException - 지정된 요소를, 세트내에 현재 존재하고 있는 요소와 비교할 수 없는 경우
NullPointerException - 지정된 요소가 null 이며, 이 세트가 null 요소를 허가하지 않는 경우

pollFirst

E  pollFirst()
최초 (하단)의 요소를 취득해 삭제합니다. 이 세트가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

반환값:
최초의 요소. 이 세트가 빈 상태(empty)의 경우는 null

pollLast

E  pollLast()
최후 (상단)의 요소를 취득해 삭제합니다. 이 세트가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

반환값:
마지막 요소. 이 세트가 빈 상태(empty)의 경우는 null

iterator

Iterator <E > iterator()
이 세트의 요소의 반복자를 승순으로 돌려줍니다.

정의:
인터페이스 Collection <E > 내의 iterator
정의:
인터페이스 Iterable <E > 내의 iterator
정의:
인터페이스 Set <E > 내의 iterator
반환값:
승순의, 이 세트의 요소의 반복자

descendingSet

NavigableSet <E > descendingSet()
이 세트에 포함되는 요소의 역순서의 뷰를 돌려줍니다. 내림차순 세트는 이 세트에 연동하고 있어, 이 세트에서의 변경은 내림차순 세트에 반영되어 그 역의 경우도 같습니다. 몇개의 세트의 반복 처리중에 몇개의 세트가 변경되었을 경우, 반복 처리의 결과는 정의되지 않습니다 (반복자 자체의 remove 오퍼레이션을 제외하다).

반환된 세트의 순서부는,Collections.reverseOrder (comparator()) 와 등가가 됩니다. 식 s.descendingSet(). descendingSet() 로부터 반환되는 s 의 뷰는 기본적으로,s 와 등가가 됩니다.

반환값:
이 세트의 역순서의 뷰

descendingIterator

Iterator <E > descendingIterator()
이 세트의 요소의 반복자를 내림차순으로 돌려줍니다. 그 결과는 descendingSet(). iterator() 와 등가가 됩니다.

반환값:
내림차순의, 이 세트의 요소의 반복자

subSet

NavigableSet <E > subSet(E  fromElement,
                       boolean fromInclusive,
                       E  toElement,
                       boolean toInclusive)
세트의 fromElement ~ toElement 의 요소 범위를 가지는 부분의 뷰를 돌려줍니다. fromElementtoElement 가 동일한 경우, 반환되는 세트는 비웁니다. 다만,fromExclusivetoExclusive 가 어느쪽이나 true 의 경우는 제외합니다. 반환되는 세트는 이 세트에 연동하고 있어, 반환되는 세트에서의 변경은 이 세트에 반영되어 그 역의 경우도 같습니다. 반환되는 세트는, 이 세트가 지원하는 옵션세트 오퍼레이션을 모두 지원합니다.

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

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

headSet

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

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

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

tailSet

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

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

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

subSet

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

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

subSet(fromElement, true, toElement, false) 와 등가입니다.

정의:
인터페이스 SortedSet <E > 내의 subSet
파라미터:
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 합니다.

headSet(toElement, false) 와 등가입니다.

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

tailSet

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

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

tailSet(fromElement, true) 와 등가입니다.

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

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 도 참조해 주세요.