| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.util.AbstractCollection<E>
java.util.AbstractSet<E>
java.util.TreeSet<E>
E - このセットが保持する要素の型public class TreeSet<E>
TreeMap に基づく NavigableSet 実装です。要素の順序付けは、自然順序付け を使って行われるか、セット構築時に提供される Comparator を使って行われます。そのどちらになるかは、使用するコンストラクタによって決まります。
 
この実装は、基本オペレーション (add、remove、および contains) に対して保証済みの log(n) 時間コストを提供します。
 
あるセットが Set インタフェースを正しく実装するには、明示的なコンパレータが提供されているかどうかにかかわらず、そのセットによって維持される順序付けが「equals との一貫性」のあるものでなければいけないことに注意してください。(「equals との一貫性」の正確な定義については、Comparable または Comparator を参照。)これは Set インタフェースが equals オペレーションに基づいて定義されるためですが、TreeSet インスタンスはその compareTo または compare メソッドを使用してすべての要素比較を実行するので、このメソッドによって等価と見なされる 2 つの要素は、このセットの見地からすれば同じものです。セットの動作は、その順序付けが equals と一貫性がない場合でも明確に定義されていますが、Set インタフェースの汎用規約には準拠していません。
 
この実装は同期化されません。複数のスレッドが並行してツリーセットにアクセスし、それらのスレッドの少なくとも 1 つが構造的にセットを変更する場合には、外部で同期をとる必要があります。通常、構造的な変更は、セットを自然にカプセル化する特定のオブジェクトで同期をとることによって達成されます。この種のオブジェクトがない場合には、Collections.synchronizedSortedSet メソッドを使用してセットを「ラップ」する必要があります。これは、セットへの偶発的な非同期アクセスを防ぐために、作成時に行うのが最適です。 
SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));
このクラスの iterator メソッドによって返される反復子は「フェイルファスト」です。つまり、反復子の作成後に、反復子自体の remove メソッド以外の方法でセットが変更されると、反復子は ConcurrentModificationException をスローします。このように、並行して変更が行われると、反復子は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、ただちにかつ手際よく例外をスローします。
 
通常、非同期の並行変更がある場合、確かな保証を行うことは不可能なので、反復子のフェイルファストの動作を保証することはできません。フェイルファスト反復子は最善努力原則に基づき、ConcurrentModificationException をスローします。したがって、正確を期すためにこの例外に依存するプログラムを書くことは誤りです。「反復子のフェイルファストの動作はバグを検出するためにのみ使用すべきです」。
 
このクラスは、Java Collections Framework のメンバーです。
Collection, 
Set, 
HashSet, 
Comparable, 
Comparator, 
TreeMap, 
直列化された形式| コンストラクタの概要 | |
|---|---|
| TreeSet()要素の自然順序付けに従ってソートされた、新しい空のツリーセットを作成します。 | |
| TreeSet(Collection<? extends E> c)指定されたコレクション内の要素を持ち、要素の「自然順序付け」に従ってソートされた新しいツリーセットを作成します。 | |
| TreeSet(Comparator<? super E> comparator)指定されたコンパレータに従ってソートされた、新しい空のツリーセットを作成します。 | |
| TreeSet(SortedSet<E> s)指定されたソートセットと同じ要素を持ち、同じ順序付けを使用する新しいツリーセットを作成します。 | |
| メソッドの概要 | |
|---|---|
|  boolean | add(E e)指定された要素がセットの要素として存在しない場合に、その要素をセットに追加します。 | 
|  boolean | addAll(Collection<? extends E> c)指定されたコレクション内のすべての要素をセットに追加します。 | 
|  E | ceiling(E e)このセット内で、指定された要素と等しいかそれよりも大きい要素のなかで最小のものを返します。 | 
|  void | clear()すべての要素をセットから削除します。 | 
|  Object | clone()TreeSetのインスタンスのシャローコピーを返します。 | 
|  Comparator<? super E> | comparator()このセット内の要素を順序付けするのに使うコンパレータを返します。 | 
|  boolean | contains(Object o)このセットに指定された要素が含まれている場合に trueを返します。 | 
|  Iterator<E> | descendingIterator()このセットの要素の反復子を降順で返します。 | 
|  NavigableSet<E> | descendingSet()このセットに含まれる要素の逆順のビューを返します。 | 
|  E | first()セット内に現在ある最初 (下端) の要素を返します。 | 
|  E | floor(E e)このセット内で、指定された要素と等しいかそれよりも小さい要素のなかで最大のものを返します。 | 
|  SortedSet<E> | headSet(E toElement)セットの toElement より小さい要素を持つ部分のビューを返します。 | 
|  NavigableSet<E> | headSet(E toElement,
        boolean inclusive)このセットの toElementよりも小さい要素 (inclusiveが true の場合はそれよりも小さいかそれと等しい要素) を含む部分のビューを返します。 | 
|  E | higher(E e)このセット内で、指定された要素よりも確実に大きい要素のなかで最小のものを返します。 | 
|  boolean | isEmpty()このセットに要素が含まれていない場合に trueを返します。 | 
|  Iterator<E> | iterator()このセットの要素の反復子を昇順で返します。 | 
|  E | last()セット内に現在ある最後 (上端) の要素を返します。 | 
|  E | lower(E e)このセット内で、指定された要素よりも確実に小さい要素のなかで最大のものを返します。 | 
|  E | pollFirst()最初 (下端) の要素を取得して削除します。 | 
|  E | pollLast()最後 (上端) の要素を取得して削除します。 | 
|  boolean | remove(Object o)指定された要素がこのセットに存在する場合に、要素をセットから削除します。 | 
|  int | size()セット内の要素数 (そのカーディナリティ) を返します。 | 
|  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.AbstractSet から継承されたメソッド | 
|---|
| equals, hashCode, removeAll | 
| クラス java.util.AbstractCollection から継承されたメソッド | 
|---|
| containsAll, retainAll, toArray, toArray, toString | 
| クラス java.lang.Object から継承されたメソッド | 
|---|
| finalize, getClass, notify, notifyAll, wait, wait, wait | 
| インタフェース java.util.Set から継承されたメソッド | 
|---|
| containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray | 
| コンストラクタの詳細 | 
|---|
public TreeSet()
Comparable インタフェースを実装する必要があります。さらに、各要素は「相互に比較可能」である必要があります。セット内の任意の要素 e1 と e2 について、e1.compareTo(e2) が ClassCastException をスローしてはいけません。たとえば、要素が整数のセットに文字列要素を追加しようとするなど、ユーザーがこの制約に違反する要素をセットに追加しようとすると、add  の呼び出しが ClassCastException をスローします。
public TreeSet(Comparator<? super E> comparator)
e1 と e2 について、comparator.compare(e1, e2) が ClassCastException をスローしてはいけません。ユーザーがこの制約に違反する要素をセットに追加しようとすると、add の呼び出しが ClassCastException をスローします。
comparator - このセットの順序付けを行うために使用されるコンパレータ。null の場合、要素の自然順序付けが使用されるpublic TreeSet(Collection<? extends E> c)
Comparable インタフェースを実装する必要があります。さらに、各要素は「相互に比較可能」である必要があります。セット内の任意の要素 e1 と e2 について、e1.compareTo(e2) が ClassCastException をスローしてはいけません。
c - 新しいセットを構成する要素からなるコレクション
ClassCastException - c 内の要素が Comparable でないか相互に比較可能でない場合
NullPointerException - 指定されたコレクションが null である場合public TreeSet(SortedSet<E> s)
s - 新しいセットを構成する要素からなるソートセット
NullPointerException - 指定されたソートセットが null の場合| メソッドの詳細 | 
|---|
public Iterator<E> iterator()
Iterable<E> 内の iteratorCollection<E> 内の iteratorNavigableSet<E> 内の iteratorSet<E> 内の iteratorAbstractCollection<E> 内の iteratorpublic Iterator<E> descendingIterator()
NavigableSet<E> 内の descendingIteratorpublic NavigableSet<E> descendingSet()
NavigableSet の記述:remove オペレーションを除く)。
 返されたセットの順序付けは、Collections.reverseOrder(comparator()) と等価になります。式 s.descendingSet().descendingSet() から返される s のビューは基本的に、s と等価になります。
NavigableSet<E> 内の descendingSetpublic int size()
Collection<E> 内の sizeSet<E> 内の sizeAbstractCollection<E> 内の sizepublic boolean isEmpty()
true を返します。
Collection<E> 内の isEmptySet<E> 内の isEmptyAbstractCollection<E> 内の isEmptytruepublic boolean contains(Object o)
true を返します。つまり、セットに、(o==null ? e==null : o.equals(e)) となる要素 e が含まれている場合にだけ true を返します。
Collection<E> 内の containsSet<E> 内の containsAbstractCollection<E> 内の containso - このセットに含まれているかどうかを調べるオブジェクト
true
ClassCastException - 指定されたオブジェクトがセット内に現在ある要素と比較可能でない場合
NullPointerException - 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public boolean add(E e)
e2 がなかった場合は、指定された要素 e をセットに追加します。セット内にすでに指定された要素がある場合、呼び出しはセットを変更せずに false を返します。
Collection<E> 内の addSet<E> 内の addAbstractCollection<E> 内の adde - セットに追加される要素
true
ClassCastException - 指定されたオブジェクトがセット内に現在ある要素と比較可能でない場合
NullPointerException - 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public boolean remove(Object o)
e が含まれている場合に、その要素を削除します。この要素がセット内にあった場合 (セットが呼び出しの結果として変更された場合) は、true を返します。呼び出しが復帰したあとは、このセットはその要素を持っていません。
Collection<E> 内の removeSet<E> 内の removeAbstractCollection<E> 内の removeo - セットに存在すれば削除されるオブジェクト
true
ClassCastException - 指定されたオブジェクトがセット内に現在ある要素と比較可能でない場合
NullPointerException - 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public void clear()
Collection<E> 内の clearSet<E> 内の clearAbstractCollection<E> 内の clearpublic boolean addAll(Collection<? extends E> c)
Collection<E> 内の addAllSet<E> 内の addAllAbstractCollection<E> 内の addAllc - このセットに追加される要素を持つコレクション
true
ClassCastException - 指定された要素がセット内に現在ある要素と比較可能でない場合
NullPointerException - 指定されたコレクションが null である場合、またはある任意の要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合AbstractCollection.add(Object)
public NavigableSet<E> subSet(E fromElement,
                              boolean fromInclusive,
                              E toElement,
                              boolean toInclusive)
NavigableSet の記述:fromElement 〜 toElement の要素範囲を持つ部分のビューを返します。fromElement と toElement が等しい場合、返されるセットは空になります。ただし、fromExclusive と toExclusive がどちらも true の場合は除きます。返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。返されるセットは、このセットがサポートするオプションのセットオペレーションをすべてサポートします。
 返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
NavigableSet<E> 内の subSetfromElement - 返されるセットの下端点fromInclusive - 返されるビューに下端点が含まれるようにする場合は truetoElement - 返されるセットの上端点toInclusive - 返されるビューに上端点が含まれるようにする場合は true
fromElement (含む) 〜 toElement (含まない) の要素範囲を持つ部分のビュー
ClassCastException - このセットのコンパレータを使って (このセットがコンパレータを持たない場合は自然順序付けを使って) fromElement と toElement との相互比較を行えない場合。実装は、セット内に現在存在している要素と fromElement または toElement  とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - fromElement または toElement が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合
IllegalArgumentException - fromElement が toElement よりも大きい場合、またはこのセット自体が制限された範囲を持っており、fromElement または toElement がその範囲の境界の外側にある場合
public NavigableSet<E> headSet(E toElement,
                               boolean inclusive)
NavigableSet の記述:toElement よりも小さい要素 (inclusive が true の場合はそれよりも小さいかそれと等しい要素) を含む部分のビューを返します。返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。返されるセットは、このセットがサポートするオプションのセットオペレーションをすべてサポートします。
 返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
NavigableSet<E> 内の headSettoElement - 返されるセットの上端点inclusive - 返されるビューに上端点が含まれるようにする場合は true
toElement よりも小さい要素 (inclusive が true の場合はそれよりも小さいかそれと等しい要素) を含む部分のビュー
ClassCastException - toElement がこのセットのコンパレータと互換性がない場合 (または、このセットがコンパレータを持たない場合、toElement が Comparable を実装していない場合)。実装は、セット内に現在存在している要素と toElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - toElement が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合
IllegalArgumentException - このセット自体が制限された範囲を持っており、toElement がその範囲の境界の外側にある場合
public NavigableSet<E> tailSet(E fromElement,
                               boolean inclusive)
NavigableSet の記述:fromElement よりも大きい要素 (inclusive が true の場合はそれよりも大きいかそれと等しい要素) を含む部分のビューを返します。返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。返されるセットは、このセットがサポートするオプションのセットオペレーションをすべてサポートします。
 返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
NavigableSet<E> 内の tailSetfromElement - 返されるセットの下端点inclusive - 返されるビューに下端点が含まれるようにする場合は true
fromElement に等しいかこれより大きい要素を持つ部分のビュー
ClassCastException - fromElement がこのセットのコンパレータと互換性がない場合 (または、このセットがコンパレータを持たない場合、fromElement が Comparable を実装していない場合)。実装は、セット内に現在存在している要素と fromElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - fromElement が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合
IllegalArgumentException - このセット自体が制限された範囲を持っており、fromElement がその範囲の境界の外側にある場合
public SortedSet<E> subSet(E fromElement,
                           E toElement)
NavigableSet の記述:返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
subSet(fromElement, true, toElement, false) と等価です。
NavigableSet<E> 内の subSetSortedSet<E> 内の subSetfromElement - 返されるセットの下端点 (これを含む)toElement - 返されるセットの上端点 (これを含まない)
ClassCastException - セットのコンパレータを使用して、fromElement と toElement を相互に比較できない場合 (または、セットに自然順序付けを使用するコンパレータがない場合)実装は、セット内に現在存在している要素と fromElement または toElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - fromElement または toElement が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合
IllegalArgumentException - fromElement が toElement よりも大きい場合、またはこのセット自体が制限された範囲を持っており、fromElement または toElement がその範囲の境界の外側にある場合public SortedSet<E> headSet(E toElement)
NavigableSet の記述:返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
headSet(toElement, false) と等価です。
NavigableSet<E> 内の headSetSortedSet<E> 内の headSettoElement - 返されるセットの上端点 (これを含まない)
ClassCastException - toElement がセットのコンパレータと互換性がない場合 (または、セットにコンパレータがない場合、toElement に Comparable が実装されていない場合)。実装は、セット内に現在存在している要素と toElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - toElement が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合
IllegalArgumentException - このセット自体が制限された範囲を持っており、toElement がその範囲の境界の外側にある場合public SortedSet<E> tailSet(E fromElement)
NavigableSet の記述:返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
tailSet(fromElement, true) と等価です。
NavigableSet<E> 内の tailSetSortedSet<E> 内の tailSetfromElement - 返されるセットの下端点 (これを含む)
ClassCastException - fromElement がこのセットのコンパレータと互換性がない場合 (または、セットにコンパレータがない場合、 fromElement に Comparable が実装されていない場合)。実装は、セット内に現在存在している要素と fromElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - fromElement が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合
IllegalArgumentException - このセット自体が制限された範囲を持っており、fromElement がその範囲の境界の外側にある場合public Comparator<? super E> comparator()
SortedSet の記述:
SortedSet<E> 内の comparatorpublic E first()
SortedSet の記述:
SortedSet<E> 内の firstNoSuchElementException - セットが空の場合public E last()
SortedSet の記述:
SortedSet<E> 内の lastNoSuchElementException - セットが空の場合public E lower(E e)
NavigableSet の記述:null を返します。
NavigableSet<E> 内の lowere - 照合する値
e よりも小さい要素のなかで最大のもの。そのような要素が存在しない場合は null
ClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合
NullPointerException - 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public E floor(E e)
NavigableSet の記述:null を返します。
NavigableSet<E> 内の floore - 照合する値
e と等しいかそれよりも小さい要素のなかで最大のもの。そのような要素が存在しない場合は null
ClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合
NullPointerException - 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public E ceiling(E e)
NavigableSet の記述:null を返します。
NavigableSet<E> 内の ceilinge - 照合する値
e と等しいかそれよりも大きい要素のなかで最小のもの。そのような要素が存在しない場合は null
ClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合
NullPointerException - 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public E higher(E e)
NavigableSet の記述:null を返します。
NavigableSet<E> 内の highere - 照合する値
e よりも大きい要素のなかで最小のもの。そのような要素が存在しない場合は null
ClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合
NullPointerException - 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public E pollFirst()
NavigableSet の記述:null を返します。
NavigableSet<E> 内の pollFirstnullpublic E pollLast()
NavigableSet の記述:null を返します。
NavigableSet<E> 内の pollLastnullpublic Object clone()
TreeSet のインスタンスのシャローコピーを返します。その要素は複製されません。
Object 内の cloneCloneable| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。