SortedSet 인터페이스
SortedSet은 컬렉션의 하나로 Collection 이기도하며 Set이기도 합니다.
실제로 SoredSet 은 Set을 상속한 인터페이스입니다. 이런 이유로 Set에서 할 수 있는
모든 메소드 호출을 SortedSet 에서도 할 수 있습니다.
그리고 SoredSet에서는 Set에서는 없었던 몇가지 메소드를 추가로 갖고 있는데,
이는 SortedSet의 이름에서 알수 있듯이 Set보다는 특별한 의미를 갖고 있기 때문입니다.
SortedSet이 Set보다 더 특별한 의미를 가지는 이유는 Set은 객체의 순서를 상관하지
않고(순서가 의미가 없지만, 순서를 보장해주지 않지만) 객체의 중복여부에만 관심을
갖는데 반해 SortedSet은 객체의 중복여부뿐만아니라 객체끼리의 순서에도 관심을 갖고
있습니다. SortedSet에 있는 객체끼리의 순서가 있다고 해서 List처럼 지정한 위치에 객체를
넣을 수 있다는 뜻은 아닙니다. SortedSet의 객체의 순서에 관심이 있다는 뜻은 SortedSet
은 Iterator 를 통해서 객체를 탐색할 때 적절한 순서에 따라 객체를 얻어냅니다.
이 적절한 순서가 어떤 순서인지는 곧 풀겠습니다.
SortedSet은 보관하는 객체의 순서가 의미가 있을 때,중복된 객체를 허용하지 않을 때
사용하면 좋겠습니다.
SortedSet | |
Comparator comparator() |
SortedSet의 Comparator를 구합니다. SortedSet이 객체의 Natural Ordering을 이용해서 객체 순서를 정하고 있다면 null 그외 SortedSet의 Comparator |
Object first() |
SortedSet의 첫번째 객체를 구합니다. |
SortedSet headSet(Object to) |
SortedSet의 to 객체보다 작은 객체의 부분으로 구성한 SortedSet을 구합니다. |
Object last() |
SortedSet의 마지막 객체를 구합니다. |
SortedSet subSet(Object fromElement, Object toElement) |
SortedSet의 toElement(포함)보다 크고, fromElement(제외)보다 작은 객체로 구성한 SortedSet |
SortedSet tailSet(Object fromElement) |
SortedSet의 fromElement(포함)보다 큰 객체로 구성한 SortedSet |
표 5 - 5
SortedSet에서 반드시 유념 해야할 것은 추가되는 객체의 순서를 정하는 일일 것입니다.
SortedSet을 Iteration할 때 SortedSet은 객체를 순서대로 Iteration해야 하는데,SortedSet이
Iteration할때 객체를 순서대로 Iteration하기 위해서는 다음 2가지중 하나는 반드시
필요합니다.
첫째 SortedSet에 포함되는 객체가 Comparable인터페이스를 구현한 객체이거나 둘째
Comparator인터페이스를 구현한 객체이어야 합니다.
'자바 Basic > 자바컬렉션' 카테고리의 다른 글
자바공부-8.객체의 Natural Ordering (0) | 2007.12.06 |
---|---|
자바공부-7.Comparable 인터페이스 (0) | 2007.12.06 |
자바공부-5.List 인터페이스와 ListIterator 인터페이스 (1) | 2007.12.06 |
자바공부-4.Set 인터페이스 (1) | 2007.12.06 |
자바공부-3.이터레이터(Iterator) 인터페이스 (0) | 2007.12.05 |