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인터페이스를 구현한 객체이어야 합니다.

Posted by
,