|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
E
- このセットが保持する要素の型public interface SortedSet<E>
要素に対して「全体順序付け」を追加提供する Set
です。要素の順序付けは、自然順序付け を使って行われるか、ソートセット構築時に通常提供される Comparator
を使って行われます。セットの反復子は、セットを要素の昇順でトラバースします。その順序付けを利用するために、追加のオペレーションがいくつか提供されています。このインタフェースはセットで、SortedMap
に類似しています。
ソートセットに挿入されるすべての要素は、Comparable インタフェースを実装するか、指定されたコンパレータによって受け付けられる必要があります。さらに、各要素は「相互に比較可能」である必要があります。つまり、e1.compareTo(e2) (または comparator.compare(e1, e2)) は、ソートセット内のどのような要素 e1 と e2 に対しても ClassCastException をスローしてはいけません。この制約に違反すると、その違反側のメソッドやコンストラクタの呼び出しは ClassCastException をスローします。
あるソートセットが Set インタフェースを正しく実装するには、明示的なコンパレータが提供されているかどうかにかかわらず、そのソートセットによって維持される順序付けが「equals との一貫性」のあるものでなければいけないことに注意してください。(「equals との一貫性」の正確な定義については、Comparable インタフェースまたは Comparator インタフェースを参照)これは Set インタフェースが equals オペレーションに基づいて定義されるためですが、ソートセットはその compareTo メソッドまたは compare メソッドを使用してすべての要素比較を実行するので、このメソッドによって等価と見なされる 2 つの要素は、ソートセットの見地からすれば同じものです。ソートセットの動作は、その順序付けが equals と一貫性がない場合でも明確に定義されています。 つまり、ソートセットの動作は Set インタフェースの一般規約に従っていません。
すべての汎用のソートセット実装クラスが 4 つの標準コンストラクタを提供するようにしてください。1) void (引数なしの) コンストラクタ。これは、要素の自然順序付けに従ってソートされた空のソートセットを作成します。2) Comparator 型の単一引数を持つコンストラクタ。これは、指定されたコンパレータに従ってソートされた空のソートセットを作成します。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 のメンバーです。
Set
,
TreeSet
,
SortedMap
,
Collection
,
Comparable
,
Comparator
,
ClassCastException
メソッドの概要 | |
---|---|
Comparator<? super E> |
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<? super E> comparator()
SortedSet<E> subSet(E fromElement, E toElement)
返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
fromElement
- 返されるセットの下端点 (これを含む)toElement
- 返されるセットの上端点 (これを含まない)
ClassCastException
- セットのコンパレータを使用して、fromElement と toElement を相互に比較できない場合 (または、セットに自然順序付けを使用するコンパレータがない場合)実装は、セット内に現在存在している要素と fromElement または toElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException
- fromElement または toElement が null であり、このセットが null 要素を許可しない場合
IllegalArgumentException
- fromElement が toElement よりも大きい場合、またはこのセット自体が制限された範囲を持っており、fromElement または toElement がその範囲の境界の外側にある場合SortedSet<E> headSet(E toElement)
返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
toElement
- 返されるセットの上端点 (これを含まない)
ClassCastException
- toElement がセットのコンパレータと互換性がない場合 (または、セットにコンパレータがない場合、toElement に Comparable
が実装されていない場合)。実装は、セット内に現在存在している要素と toElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException
- toElement が null であり、このセットが null 要素を許可しない場合
IllegalArgumentException
- このセット自体が制限された範囲を持っており、toElement がその範囲の境界の外側にある場合SortedSet<E> tailSet(E fromElement)
返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
fromElement
- 返されるセットの下端点 (これを含む)
ClassCastException
- fromElement がこのセットのコンパレータと互換性がない場合 (または、セットにコンパレータがない場合、 fromElement に Comparable
が実装されていない場合)。実装は、セット内に現在存在している要素と fromElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException
- fromElement が null であり、このセットが null 要素を許可しない場合
IllegalArgumentException
- このセット自体が制限された範囲を持っており、fromElement がその範囲の境界の外側にある場合E first()
NoSuchElementException
- セットが空の場合E last()
NoSuchElementException
- セットが空の場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。