|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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>
内の iterator
Collection<E>
内の iterator
NavigableSet<E>
内の iterator
Set<E>
内の iterator
AbstractCollection<E>
内の iterator
public Iterator<E> descendingIterator()
NavigableSet<E>
内の descendingIterator
public NavigableSet<E> descendingSet()
NavigableSet
の記述:remove
オペレーションを除く)。
返されたセットの順序付けは、Collections.reverseOrder
(comparator()) と等価になります。式 s.descendingSet().descendingSet()
から返される s
のビューは基本的に、s
と等価になります。
NavigableSet<E>
内の descendingSet
public int size()
Collection<E>
内の size
Set<E>
内の size
AbstractCollection<E>
内の size
public boolean isEmpty()
true
を返します。
Collection<E>
内の isEmpty
Set<E>
内の isEmpty
AbstractCollection<E>
内の isEmpty
true
public boolean contains(Object o)
true
を返します。つまり、セットに、(o==null ? e==null : o.equals(e)) となる要素 e
が含まれている場合にだけ true
を返します。
Collection<E>
内の contains
Set<E>
内の contains
AbstractCollection<E>
内の contains
o
- このセットに含まれているかどうかを調べるオブジェクト
true
ClassCastException
- 指定されたオブジェクトがセット内に現在ある要素と比較可能でない場合
NullPointerException
- 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public boolean add(E e)
e2
がなかった場合は、指定された要素 e
をセットに追加します。セット内にすでに指定された要素がある場合、呼び出しはセットを変更せずに false
を返します。
Collection<E>
内の add
Set<E>
内の add
AbstractCollection<E>
内の add
e
- セットに追加される要素
true
ClassCastException
- 指定されたオブジェクトがセット内に現在ある要素と比較可能でない場合
NullPointerException
- 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public boolean remove(Object o)
e
が含まれている場合に、その要素を削除します。この要素がセット内にあった場合 (セットが呼び出しの結果として変更された場合) は、true
を返します。呼び出しが復帰したあとは、このセットはその要素を持っていません。
Collection<E>
内の remove
Set<E>
内の remove
AbstractCollection<E>
内の remove
o
- セットに存在すれば削除されるオブジェクト
true
ClassCastException
- 指定されたオブジェクトがセット内に現在ある要素と比較可能でない場合
NullPointerException
- 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public void clear()
Collection<E>
内の clear
Set<E>
内の clear
AbstractCollection<E>
内の clear
public boolean addAll(Collection<? extends E> c)
Collection<E>
内の addAll
Set<E>
内の addAll
AbstractCollection<E>
内の addAll
c
- このセットに追加される要素を持つコレクション
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>
内の subSet
fromElement
- 返されるセットの下端点fromInclusive
- 返されるビューに下端点が含まれるようにする場合は true
toElement
- 返されるセットの上端点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>
内の headSet
toElement
- 返されるセットの上端点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>
内の tailSet
fromElement
- 返されるセットの下端点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>
内の subSet
SortedSet<E>
内の subSet
fromElement
- 返されるセットの下端点 (これを含む)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>
内の headSet
SortedSet<E>
内の headSet
toElement
- 返されるセットの上端点 (これを含まない)
ClassCastException
- toElement がセットのコンパレータと互換性がない場合 (または、セットにコンパレータがない場合、toElement に Comparable
が実装されていない場合)。実装は、セット内に現在存在している要素と toElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException
- toElement
が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合
IllegalArgumentException
- このセット自体が制限された範囲を持っており、toElement がその範囲の境界の外側にある場合public SortedSet<E> tailSet(E fromElement)
NavigableSet
の記述:返されたセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException をスローします。
tailSet(fromElement, true)
と等価です。
NavigableSet<E>
内の tailSet
SortedSet<E>
内の tailSet
fromElement
- 返されるセットの下端点 (これを含む)
ClassCastException
- fromElement がこのセットのコンパレータと互換性がない場合 (または、セットにコンパレータがない場合、 fromElement に Comparable
が実装されていない場合)。実装は、セット内に現在存在している要素と fromElement とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException
- fromElement
が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合
IllegalArgumentException
- このセット自体が制限された範囲を持っており、fromElement がその範囲の境界の外側にある場合public Comparator<? super E> comparator()
SortedSet
の記述:
SortedSet<E>
内の comparator
public E first()
SortedSet
の記述:
SortedSet<E>
内の first
NoSuchElementException
- セットが空の場合public E last()
SortedSet
の記述:
SortedSet<E>
内の last
NoSuchElementException
- セットが空の場合public E lower(E e)
NavigableSet
の記述:null
を返します。
NavigableSet<E>
内の lower
e
- 照合する値
e
よりも小さい要素のなかで最大のもの。そのような要素が存在しない場合は null
ClassCastException
- 指定された要素を、セット内に現在存在している要素と比較できない場合
NullPointerException
- 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public E floor(E e)
NavigableSet
の記述:null
を返します。
NavigableSet<E>
内の floor
e
- 照合する値
e
と等しいかそれよりも小さい要素のなかで最大のもの。そのような要素が存在しない場合は null
ClassCastException
- 指定された要素を、セット内に現在存在している要素と比較できない場合
NullPointerException
- 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public E ceiling(E e)
NavigableSet
の記述:null
を返します。
NavigableSet<E>
内の ceiling
e
- 照合する値
e
と等しいかそれよりも大きい要素のなかで最小のもの。そのような要素が存在しない場合は null
ClassCastException
- 指定された要素を、セット内に現在存在している要素と比較できない場合
NullPointerException
- 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public E higher(E e)
NavigableSet
の記述:null
を返します。
NavigableSet<E>
内の higher
e
- 照合する値
e
よりも大きい要素のなかで最小のもの。そのような要素が存在しない場合は null
ClassCastException
- 指定された要素を、セット内に現在存在している要素と比較できない場合
NullPointerException
- 指定された要素が null であり、このセットが自然順序付けを使用しているかそのコンパレータが null 要素を許可しない場合public E pollFirst()
NavigableSet
の記述:null
を返します。
NavigableSet<E>
内の pollFirst
null
public E pollLast()
NavigableSet
の記述:null
を返します。
NavigableSet<E>
内の pollLast
null
public Object clone()
TreeSet
のインスタンスのシャローコピーを返します。その要素は複製されません。
Object
内の clone
Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。