JavaTM Platform
Standard Ed. 6

java.util
クラス TreeMap<K,V>

java.lang.Object
  上位を拡張 java.util.AbstractMap<K,V>
      上位を拡張 java.util.TreeMap<K,V>
型パラメータ:
K - このマップで保持されるキーの型
V - マップされる値の型
すべての実装されたインタフェース:
Serializable, Cloneable, Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>

public class TreeMap<K,V>
extends AbstractMap<K,V>
implements NavigableMap<K,V>, Cloneable, Serializable

Red-Black ツリーに基づく NavigableMap 実装です。マップは、使用するコンストラクタに応じて、そのキーの自然順序付けに従って、またはマップ作成時に提供される Comparator によってソートされます。  

この実装は、containsKeygetputremove の各オペレーションに保証済みの log(n) 時間コストを提供します。アルゴリズムは、Cormen、Leiserson、Rivest の「Introduction to Algorithms」のものに手を加えています。  

あるソートマップが Map インタフェースを正しく実装するには、明示的なコンパレータが提供されているかどうかにかかわらず、そのソートマップによって維持される順序付けが「equals との一貫性」のあるものでなければいけないことに注意してください。(「equals との一貫性」の正確な定義については、Comparable または Comparator を参照。)これは Map インタフェースが equals オペレーションに基づいて定義されるためですが、マップはその compareTo メソッドまたは compare メソッドを使ってすべてのキーを比較するので、このメソッドによって等しいと見なされる 2 つのキーはソートマップから見ても等価です。ソートマップの動作は、その順序付けが equals と一貫性がない場合でも明確に定義されていますが、Map インタフェースの一般規約には準拠していません。  

この実装は同期化されません。複数のスレッドが並行してマップにアクセスし、それらのスレッドの少なくとも 1 つが構造的にマップを変更する場合には、外部で同期をとる必要があります。構造的な変更とは、1 つ以上のマッピングを追加または削除するようなオペレーションです。 既存のキーに関連付けられている値を変更する処理は、構造的な変更ではありません。通常、構造的な変更は、マップを自然にカプセル化する特定のオブジェクトで同期をとることによって達成されます。この種のオブジェクトがない場合には、Collections.synchronizedSortedMap メソッドを使用してマップを「ラップ」する必要があります。マップへの偶発的な非同期アクセスを防ぐために、作成時に行うのが最適です。

   SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
 

このクラスのすべての「コレクションビューメソッド」によって返されるコレクションの iterator メソッドによって返される反復子は、「フェイルファスト」です。反復子の作成後に、反復子自体の remove メソッド以外の方法でマップが構造的に変更されると、反復子は ConcurrentModificationException をスローします。このように、並行して変更が行われると、反復子は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、ただちにかつ手際よく例外をスローします。  

通常、非同期の並行変更がある場合、確かな保証を行うことは不可能なので、反復子のフェイルファストの動作を保証することはできません。フェイルファスト反復子は最善努力原則に基づき、ConcurrentModificationException をスローします。したがって、正確を期すためにこの例外に依存するプログラムを書くことは誤りです。「反復子のフェイルファストの動作はバグを検出するためにのみ使用すべきです」。  

このクラス内のメソッドによって返されるすべての Map.Entry ペアとそのビューは、マッピングの生成時のスナップショットを表します。これは Entry.setValue メソッドをサポートしていません。(ただし、関連するマップ内のマッピングは put を使って変更できることに注意すること。)  

このクラスは、Java Collections Framework のメンバーです。

導入されたバージョン:
1.2
関連項目:
Map, HashMap, Hashtable, Comparable, Comparator, Collection, 直列化された形式

入れ子のクラスの概要
 
クラス java.util.AbstractMap から継承された入れ子のクラス/インタフェース
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
コンストラクタの概要
TreeMap()
          キーの自然順序付けを使って、新しい空のツリーマップを構築します。
TreeMap(Comparator<? super K> comparator)
          指定されたコンパレータに従って順序付けされた、新しい空のツリーマップを作成します。
TreeMap(Map<? extends K,? extends V> m)
          指定されたマップと同じマッピングを持ち、そのキーの「自然順序付け」に従って順序付けされた新しいツリーマップを作成します。
TreeMap(SortedMap<K,? extends V> m)
          指定されたソートマップと同じマッピングを持ち、同じ順序付けを使用する新しいツリーマップを作成します。
 
メソッドの概要
 Map.Entry<K,V> ceilingEntry(K key)
          指定されたキーと等しいかそれよりも大きいキーのなかで最小のものに関連付けられた、キーと値のマッピングを返します。
 K ceilingKey(K key)
          指定されたキーと等しいかそれよりも大きいキーのなかで最小のものを返します。
 void clear()
          すべてのマッピングをマップから削除します。
 Object clone()
          TreeMap のインスタンスのシャローコピーを返します。
 Comparator<? super K> comparator()
          このマップ内のキーを順序付けするのに使うコンパレータを返します。
 boolean containsKey(Object key)
          マップが指定のキーのマッピングを保持する場合に true を返します。
 boolean containsValue(Object value)
          マップが 1 つまたは複数のキーと指定された値をマッピングしている場合に true を返します。
 NavigableSet<K> descendingKeySet()
          このマップに含まれるキーの逆順の NavigableSet ビューを返します。
 NavigableMap<K,V> descendingMap()
          マップ内に保持されているマッピングの逆順のビューを返します。
 Set<Map.Entry<K,V>> entrySet()
          このマップに含まれるマップの Set ビューを返します。
 Map.Entry<K,V> firstEntry()
          このマップ内で最小のキーに関連付けられたキーと値のマッピングを返します。
 K firstKey()
          マップ内に現在ある最初 (下端) のキーを返します。
 Map.Entry<K,V> floorEntry(K key)
          指定されたキーと等しいかそれよりも小さいキーのなかで最大のものに関連付けられた、キーと値のマッピングを返します。
 K floorKey(K key)
          指定されたキーと等しいかそれよりも小さいキーのなかで最大のものを返します。
 V get(Object key)
          指定されたキーがマップされている値を返します。
 SortedMap<K,V> headMap(K toKey)
          マップの toKey より小さいキーを持つ部分のビューを返します。
 NavigableMap<K,V> headMap(K toKey, boolean inclusive)
          toKey よりも小さいキー (inclusive が true の場合はそれよりも小さいかそれと等しいキー) を含むこのマップの部分のビューを返します。
 Map.Entry<K,V> higherEntry(K key)
          指定されたキーよりも確実に大きいキーのなかで最小のものに関連付けられた、キーと値のマッピングを返します。
 K higherKey(K key)
          指定されたキーよりも確実に大きいキーのなかで最小のものを返します。
 Set<K> keySet()
          このマップに含まれるキーの Set ビューを返します。
 Map.Entry<K,V> lastEntry()
          このマップ内で最大のキーに関連付けられたキーと値のマッピングを返します。
 K lastKey()
          マップ内に現在ある最後 (上端) のキーを返します。
 Map.Entry<K,V> lowerEntry(K key)
          指定されたキーよりも確実に小さいキーのなかで最大のものに関連付けられた、キーと値のマッピングを返します。
 K lowerKey(K key)
          指定されたキーよりも確実に小さいキーのなかで最大のものを返します。
 NavigableSet<K> navigableKeySet()
          このマップに含まれるキーの NavigableSet ビューを返します。
 Map.Entry<K,V> pollFirstEntry()
          このマップ内で最小のキーに関連付けられたキーと値のマッピングを削除して返します。
 Map.Entry<K,V> pollLastEntry()
          このマップ内で最大のキーに関連付けられたキーと値のマッピングを削除して返します。
 V put(K key, V value)
          指定された値と指定されたキーをこのマップに関連付けます。
 void putAll(Map<? extends K,? extends V> map)
          指定されたマップからすべてのマッピングをマップにコピーします。
 V remove(Object key)
          キーのマッピングがあれば TreeMap から削除します。
 int size()
          マップ内のキー値マッピングの数を返します。
 NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
          マップの fromKeytoKey のキー範囲を持つ部分のビューを返します。
 SortedMap<K,V> subMap(K fromKey, K toKey)
          マップの fromKey (これを含む) 〜 toKey (これを含まない) のキー範囲を持つ部分のビューを返します。
 SortedMap<K,V> tailMap(K fromKey)
          マップの fromKey 以上のキーを持つ部分のビューを返します。
 NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
          fromKey よりも大きいキー (inclusive が true の場合はそれよりも大きいかそれと等しいキー) を含むこのマップの部分のビューを返します。
 Collection<V> values()
          このマップに含まれる値の Collection ビューを返します。
 
クラス java.util.AbstractMap から継承されたメソッド
equals, hashCode, isEmpty, toString
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 
インタフェース java.util.Map から継承されたメソッド
equals, hashCode, isEmpty
 

コンストラクタの詳細

TreeMap

public TreeMap()
キーの自然順序付けを使って、新しい空のツリーマップを構築します。マップに挿入されたすべてのキーは Comparable インタフェースを実装する必要があります。さらに、各キーは「相互に比較可能」である必要があります。つまり、k1.compareTo(k2) は、マップ内の任意のキー k1k2 のどちらに対しても ClassCastException をスローすべきではありません。たとえばキーが整数のマップに文字列キーを入れようとするなど、ユーザーがこの制約に違反するキーをマップに入れようとすると、put(Object key, Object value) の呼び出しが ClassCastException をスローします。


TreeMap

public TreeMap(Comparator<? super K> comparator)
指定されたコンパレータに従って順序付けされた、新しい空のツリーマップを作成します。マップに挿入されたすべてのキーは、指定されたコンパレータによって「相互に比較可能」である必要があります。つまり、comparator.compare(k1, k2) は、マップ内の任意のキー k1k2 のどちらに対しても ClassCastException をスローすべきではありません。ユーザーがこの制約に違反するキーをマップに入れようとすると、put(Object key, Object value) の呼び出しが ClassCastException をスローします。

パラメータ:
comparator - このマップを順序付けするために使用されるコンパレータ。null の場合、キーの自然順序付けが使用される

TreeMap

public TreeMap(Map<? extends K,? extends V> m)
指定されたマップと同じマッピングを持ち、そのキーの「自然順序付け」に従って順序付けされた新しいツリーマップを作成します。新しいマップに挿入されたすべてのキーは Comparable インタフェースを実装する必要があります。さらに、各キーは「相互に比較可能」である必要があります。つまり、k1.compareTo(k2) は、マップ内の任意のキー k1k2 のどちらに対しても ClassCastException をスローすべきではありません。このメソッドは、n*log(n) 時間で実行されます。

パラメータ:
m - マッピングがこのマップに配置されるマップ
例外:
ClassCastException - m 内のキーが Comparable でないか相互に比較可能でない場合
NullPointerException - 指定されたマップが null の場合

TreeMap

public TreeMap(SortedMap<K,? extends V> m)
指定されたソートマップと同じマッピングを持ち、同じ順序付けを使用する新しいツリーマップを作成します。このメソッドは一次時間で動作します。

パラメータ:
m - マッピングがこのマップに配置され、コンパレータがこのマップのソートに使用される、ソートされたマップ
例外:
NullPointerException - 指定されたマップが null の場合
メソッドの詳細

size

public int size()
マップ内のキー値マッピングの数を返します。

定義:
インタフェース Map<K,V> 内の size
オーバーライド:
クラス AbstractMap<K,V> 内の size
戻り値:
マップ内のキーと値のマッピングの数

containsKey

public boolean containsKey(Object key)
マップが指定のキーのマッピングを保持する場合に true を返します。

定義:
インタフェース Map<K,V> 内の containsKey
オーバーライド:
クラス AbstractMap<K,V> 内の containsKey
パラメータ:
key - マップにあるかどうかが判定されるキー
戻り値:
マップが指定されたキーのマッピングを保持する場合は true
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合

containsValue

public boolean containsValue(Object value)
マップが 1 つまたは複数のキーと指定された値をマッピングしている場合に true を返します。つまり、マップに、(value==null ? v==null : value.equals(v)) となる値 v へのマッピングが 1 つ以上ある場合にだけ true を返します。ほとんどの実装では、このオペレーションはマップのサイズに正比例した時間がかかると考えられます。

定義:
インタフェース Map<K,V> 内の containsValue
オーバーライド:
クラス AbstractMap<K,V> 内の containsValue
パラメータ:
value - マップにあるかどうかを判定される値
戻り値:
value へのマッピングがある場合は true、マッピングがない場合は false
導入されたバージョン:
1.2

get

public V get(Object key)
指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合は null を返します。  

つまり、マップの順序付けに従って keyk に等しくなるような、キー k から値 v へのマッピングがこのマップに含まれている場合、このメソッドは v を返します。それ以外の場合は、null を返します。このようなマッピングが 1 つだけあります。  

戻り値の null は、マップがキーのマッピングを保持していないことを示すとはかぎりません。 つまり、マップが明示的にキーを null にマップすることもあります。containsKey オペレーションを使うと、この 2 つの場合を区別できます。

定義:
インタフェース Map<K,V> 内の get
オーバーライド:
クラス AbstractMap<K,V> 内の get
パラメータ:
key - 関連付けられた値が返されるキー
戻り値:
指定されたキーがマップされている値。そのキーのマッピングがこのマップに含まれていない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合

comparator

public Comparator<? super K> comparator()
インタフェース SortedMap の記述:
このマップ内のキーを順序付けするのに使うコンパレータを返します。ただし、このマップがそのキーの 自然順序付け を使う場合は null を返します。

定義:
インタフェース SortedMap<K,V> 内の comparator
戻り値:
このマップ内のキーを順序付けするのに使うコンパレータ。ただし、このマップがそのキーの自然順序付けを使う場合は null

firstKey

public K firstKey()
インタフェース SortedMap の記述:
マップ内に現在ある最初 (下端) のキーを返します。

定義:
インタフェース SortedMap<K,V> 内の firstKey
戻り値:
マップ内に現在ある最初 (下端) のキー
例外:
NoSuchElementException - マップが空の場合

lastKey

public K lastKey()
インタフェース SortedMap の記述:
マップ内に現在ある最後 (上端) のキーを返します。

定義:
インタフェース SortedMap<K,V> 内の lastKey
戻り値:
マップ内に現在ある最後 (上端) のキー
例外:
NoSuchElementException - マップが空の場合

putAll

public void putAll(Map<? extends K,? extends V> map)
指定されたマップからすべてのマッピングをマップにコピーします。これにより、マップが指定されたマップ内に現在あるキーのすべてに対して持っていたマッピングが置き換えられます。

定義:
インタフェース Map<K,V> 内の putAll
オーバーライド:
クラス AbstractMap<K,V> 内の putAll
パラメータ:
map - マップに格納されるマッピング
例外:
ClassCastException - 指定されたマップ内のキーまたは値のクラスが原因で、マップに格納できない場合
NullPointerException - 指定されたマップが null である場合、または指定されたマップに null キーが含まれており、このマップが null キーを許可しない場合

put

public V put(K key,
             V value)
指定された値と指定されたキーをこのマップに関連付けます。マップが以前にこのキーのマッピングを保持していた場合、古い値が置き換えられます。

定義:
インタフェース Map<K,V> 内の put
オーバーライド:
クラス AbstractMap<K,V> 内の put
パラメータ:
key - 指定された値が関連付けられるキー
value - 指定されたキーに関連付けられる値
戻り値:
key に以前に関連付けられていた値。key のマッピングが存在しなかった場合は null。(null の戻り値は、keynull を以前関連付けていたマップを示す場合もある)
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合

remove

public V remove(Object key)
キーのマッピングがあれば TreeMap から削除します。

定義:
インタフェース Map<K,V> 内の remove
オーバーライド:
クラス AbstractMap<K,V> 内の remove
パラメータ:
key - マッピングを削除する必要があるキー
戻り値:
key に以前に関連付けられていた値。key のマッピングが存在しなかった場合は null。(null の戻り値は、keynull を以前関連付けていたマップを示す場合もある)
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合

clear

public void clear()
すべてのマッピングをマップから削除します。この呼び出しが戻ると、マップは空になります。

定義:
インタフェース Map<K,V> 内の clear
オーバーライド:
クラス AbstractMap<K,V> 内の clear

clone

public Object clone()
TreeMap のインスタンスのシャローコピーを返します。そのキーと値は複製されません。

オーバーライド:
クラス AbstractMap<K,V> 内の clone
戻り値:
このマップのシャローコピー
関連項目:
Cloneable

firstEntry

public Map.Entry<K,V> firstEntry()
インタフェース NavigableMap の記述:
このマップ内で最小のキーに関連付けられたキーと値のマッピングを返します。このマップが空の場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の firstEntry
戻り値:
最小のキーを持つエントリ。このマップが空の場合は null
導入されたバージョン:
1.6

lastEntry

public Map.Entry<K,V> lastEntry()
インタフェース NavigableMap の記述:
このマップ内で最大のキーに関連付けられたキーと値のマッピングを返します。このマップが空の場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の lastEntry
戻り値:
最大のキーを持つエントリ。このマップが空の場合は null
導入されたバージョン:
1.6

pollFirstEntry

public Map.Entry<K,V> pollFirstEntry()
インタフェース NavigableMap の記述:
このマップ内で最小のキーに関連付けられたキーと値のマッピングを削除して返します。このマップが空の場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の pollFirstEntry
戻り値:
このマップの削除された最初のエントリ。このマップが空の場合は null
導入されたバージョン:
1.6

pollLastEntry

public Map.Entry<K,V> pollLastEntry()
インタフェース NavigableMap の記述:
このマップ内で最大のキーに関連付けられたキーと値のマッピングを削除して返します。このマップが空の場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の pollLastEntry
戻り値:
このマップの削除された最後のエントリ。このマップが空の場合は null
導入されたバージョン:
1.6

lowerEntry

public Map.Entry<K,V> lowerEntry(K key)
インタフェース NavigableMap の記述:
指定されたキーよりも確実に小さいキーのなかで最大のものに関連付けられた、キーと値のマッピングを返します。そのようなキーが存在しない場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の lowerEntry
パラメータ:
key - キー
戻り値:
key よりも小さいキーのなかで最大のものを持つエントリ。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
導入されたバージョン:
1.6

lowerKey

public K lowerKey(K key)
インタフェース NavigableMap の記述:
指定されたキーよりも確実に小さいキーのなかで最大のものを返します。そのようなキーが存在しない場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の lowerKey
パラメータ:
key - キー
戻り値:
key よりも小さいキーのなかで最大のもの。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
導入されたバージョン:
1.6

floorEntry

public Map.Entry<K,V> floorEntry(K key)
インタフェース NavigableMap の記述:
指定されたキーと等しいかそれよりも小さいキーのなかで最大のものに関連付けられた、キーと値のマッピングを返します。そのようなキーが存在しない場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の floorEntry
パラメータ:
key - キー
戻り値:
key と等しいかそれよりも小さいキーのなかで最大のものを持つエントリ。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
導入されたバージョン:
1.6

floorKey

public K floorKey(K key)
インタフェース NavigableMap の記述:
指定されたキーと等しいかそれよりも小さいキーのなかで最大のものを返します。そのようなキーが存在しない場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の floorKey
パラメータ:
key - キー
戻り値:
key と等しいかそれよりも小さいキーのなかで最大のもの。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
導入されたバージョン:
1.6

ceilingEntry

public Map.Entry<K,V> ceilingEntry(K key)
インタフェース NavigableMap の記述:
指定されたキーと等しいかそれよりも大きいキーのなかで最小のものに関連付けられた、キーと値のマッピングを返します。そのようなキーが存在しない場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の ceilingEntry
パラメータ:
key - キー
戻り値:
key と等しいかそれよりも大きいキーのなかで最小のものを持つエントリ。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
導入されたバージョン:
1.6

ceilingKey

public K ceilingKey(K key)
インタフェース NavigableMap の記述:
指定されたキーと等しいかそれよりも大きいキーのなかで最小のものを返します。そのようなキーが存在しない場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の ceilingKey
パラメータ:
key - キー
戻り値:
key と等しいかそれよりも大きいキーのなかで最小のもの。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
導入されたバージョン:
1.6

higherEntry

public Map.Entry<K,V> higherEntry(K key)
インタフェース NavigableMap の記述:
指定されたキーよりも確実に大きいキーのなかで最小のものに関連付けられた、キーと値のマッピングを返します。そのようなキーが存在しない場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の higherEntry
パラメータ:
key - キー
戻り値:
key よりも大きいキーのなかで最小のものを持つエントリ。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
導入されたバージョン:
1.6

higherKey

public K higherKey(K key)
インタフェース NavigableMap の記述:
指定されたキーよりも確実に大きいキーのなかで最小のものを返します。そのようなキーが存在しない場合は null を返します。

定義:
インタフェース NavigableMap<K,V> 内の higherKey
パラメータ:
key - キー
戻り値:
key よりも大きいキーのなかで最小のもの。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
導入されたバージョン:
1.6

keySet

public Set<K> keySet()
このマップに含まれるキーの Set ビューを返します。セットの反復子は、キーを昇順で返します。セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません (反復子自身の remove オペレーションを除く)。セットは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeSet.removeremoveAllretainAll、および retainAll オペレーションを通して行います。Set は、add オペレーションや addAll オペレーションはサポートしていません。

定義:
インタフェース Map<K,V> 内の keySet
定義:
インタフェース SortedMap<K,V> 内の keySet
オーバーライド:
クラス AbstractMap<K,V> 内の keySet
戻り値:
マップに含まれているキーのセットビュー

navigableKeySet

public NavigableSet<K> navigableKeySet()
インタフェース NavigableMap の記述:
このマップに含まれるキーの NavigableSet ビューを返します。セットの反復子は、キーを昇順で返します。セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません (反復子自身の remove オペレーションを除く)。セットは要素の削除をサポートしており、対応するマッピングをマップから削除することができます。削除は、Iterator.removeSet.removeremoveAllretainAll、および clear の各オペレーションを通して行います。add および addAll オペレーションはサポートされません。

定義:
インタフェース NavigableMap<K,V> 内の navigableKeySet
戻り値:
このマップ内のキーのナビゲート可能なセットビュー
導入されたバージョン:
1.6

descendingKeySet

public NavigableSet<K> descendingKeySet()
インタフェース NavigableMap の記述:
このマップに含まれるキーの逆順の NavigableSet ビューを返します。セットの反復子は、キーを降順で返します。セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません (反復子自身の remove オペレーションを除く)。セットは要素の削除をサポートしており、対応するマッピングをマップから削除することができます。削除は、Iterator.removeSet.removeremoveAllretainAll、および clear の各オペレーションを通して行います。add および addAll オペレーションはサポートされません。

定義:
インタフェース NavigableMap<K,V> 内の descendingKeySet
戻り値:
このマップ内のキーのナビゲート可能な逆順セットビュー
導入されたバージョン:
1.6

values

public Collection<V> values()
このマップに含まれる値の Collection ビューを返します。コレクションの反復子は、値を対応するキーの昇順で返します。コレクションはマップと連動しているので、マップに対する変更はコレクションに反映され、またコレクションに対する変更はマップに反映されます。コレクションの反復処理中にマップが変更された場合、反復処理の結果は定義されません (反復子自身の remove オペレーションを除く)。コレクションは要素の削除をサポートしており、対応するマッピングをマップから削除できます。 削除は、Iterator.removeCollection.removeremoveAllretainAll、および clear オペレーションを通して行います。コレクションは、add オペレーションや addAll オペレーションはサポートしていません。

定義:
インタフェース Map<K,V> 内の values
定義:
インタフェース SortedMap<K,V> 内の values
オーバーライド:
クラス AbstractMap<K,V> 内の values
戻り値:
マップ内に含まれている値のコレクションビュー

entrySet

public Set<Map.Entry<K,V>> entrySet()
このマップに含まれるマップの Set ビューを返します。セットの反復子は、エントリをキーの昇順で返します。セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。セットに対する反復の処理中にマップが変更された場合は、反復処理の結果は定義されません (反復子自身の remove オペレーション、または反復子により返されるマップエントリに対する setValue オペレーションを除く)。 セットは、要素の削除をサポートしており、対応するマッピングをマップから削除できます。セットは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeSet.removeremoveAllretainAll、および clear の各オペレーションを通して行います。Set は、add オペレーションや addAll オペレーションはサポートしていません。

定義:
インタフェース Map<K,V> 内の entrySet
定義:
インタフェース SortedMap<K,V> 内の entrySet
定義:
クラス AbstractMap<K,V> 内の entrySet
戻り値:
マップ内に保持されているマッピングのセットビュー

descendingMap

public NavigableMap<K,V> descendingMap()
インタフェース NavigableMap の記述:
マップ内に保持されているマッピングの逆順のビューを返します。降順マップはこのマップに連動しており、このマップでの変更は降順マップに反映され、その逆の場合も同様です。いずれかのマップのコレクションビューの反復処理中にいずれかのマップが変更された場合、反復処理の結果は定義されません (反復子自身の remove オペレーションを除く)。  

返されたマップの順序付けは、Collections.reverseOrder(comparator()) と等価になります。式 m.descendingMap().descendingMap() から返される m のビューは基本的に、m と等価になります。

定義:
インタフェース NavigableMap<K,V> 内の descendingMap
戻り値:
このマップの逆順のビュー
導入されたバージョン:
1.6

subMap

public NavigableMap<K,V> subMap(K fromKey,
                                boolean fromInclusive,
                                K toKey,
                                boolean toInclusive)
インタフェース NavigableMap の記述:
マップの fromKeytoKey のキー範囲を持つ部分のビューを返します。fromKeytoKey が等しい場合、返されるマップは空になります。ただし、fromExclusivetoExclusive がどちらも true の場合は除きます。返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。返されるマップは、このマップがサポートするオプションのマップオペレーションをすべてサポートします。  

返されるマップは、その範囲外のキーが挿入されようとしたり、端点のいずれかがその範囲外にあるようなサブマップが構築されようとしたりすると、IllegalArgumentException をスローします。

定義:
インタフェース NavigableMap<K,V> 内の subMap
パラメータ:
fromKey - 返されるマップ内のキーの下端点
fromInclusive - 返されるビューに下端点が含まれるようにする場合は true
toKey - 返されるマップ内のキーの上端点
toInclusive - 返されるビューに上端点が含まれるようにする場合は true
戻り値:
マップの fromKeytoKey のキー範囲を持つ部分のビュー
例外:
ClassCastException - このマップのコンパレータを使って (このマップがコンパレータを持たない場合は自然順序付けを使って) fromKeytoKey との相互比較を行えない場合。実装は、マップ内に現在存在しているキーと fromKey または toKey とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - fromKey または toKey が null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
IllegalArgumentException - fromKeytoKey よりも大きい場合、またはこのマップ自体が制限された範囲を持っており、fromKey または toKey がその範囲の境界の外側にある場合
導入されたバージョン:
1.6

headMap

public NavigableMap<K,V> headMap(K toKey,
                                 boolean inclusive)
インタフェース NavigableMap の記述:
toKey よりも小さいキー (inclusive が true の場合はそれよりも小さいかそれと等しいキー) を含むこのマップの部分のビューを返します。返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。返されるマップは、このマップがサポートするオプションのマップオペレーションをすべてサポートします。  

返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentException をスローします。

定義:
インタフェース NavigableMap<K,V> 内の headMap
パラメータ:
toKey - 返されるマップ内のキーの上端点
inclusive - 返されるビューに上端点が含まれるようにする場合は true
戻り値:
toKey よりも小さいキー (inclusive が true の場合はそれよりも小さいかそれと等しいキー) を含むこのマップの部分のビュー
例外:
ClassCastException - toKey がこのマップのコンパレータと互換性がない場合 (または、このマップがコンパレータを持たない場合、toKeyComparable を実装していない場合)。実装は、マップ内に現在存在しているキーと toKey とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - toKey が null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
IllegalArgumentException - このマップ自体が制限された範囲を持っており、toKey がその範囲の境界の外側にある場合
導入されたバージョン:
1.6

tailMap

public NavigableMap<K,V> tailMap(K fromKey,
                                 boolean inclusive)
インタフェース NavigableMap の記述:
fromKey よりも大きいキー (inclusive が true の場合はそれよりも大きいかそれと等しいキー) を含むこのマップの部分のビューを返します。返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。返されるマップは、このマップがサポートするオプションのマップオペレーションをすべてサポートします。  

返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentException をスローします。

定義:
インタフェース NavigableMap<K,V> 内の tailMap
パラメータ:
fromKey - 返されるマップ内のキーの下端点
inclusive - 返されるビューに下端点が含まれるようにする場合は true
戻り値:
fromKey よりも大きいキー (inclusive が true の場合はそれよりも大きいかそれと等しいキー) を含むこのマップの部分のビュー
例外:
ClassCastException - fromKey がこのマップのコンパレータと互換性がない場合 (または、このマップがコンパレータを持たない場合、fromKeyComparable を実装していない場合)。実装は、マップ内に現在存在しているキーと fromKey とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - fromKey が null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
IllegalArgumentException - このマップ自体が制限された範囲を持っており、fromKey がその範囲の境界の外側にある場合
導入されたバージョン:
1.6

subMap

public SortedMap<K,V> subMap(K fromKey,
                             K toKey)
インタフェース NavigableMap の記述:
マップの fromKey (これを含む) 〜 toKey (これを含まない) のキー範囲を持つ部分のビューを返します。fromKeytoKey が等しい場合は、空のマップが返されます。返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。返されるマップは、このマップがサポートするオプションのマップオペレーションをすべてサポートします。  

返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentException をスローします。  

subMap(fromKey, true, toKey, false) と等価です。

定義:
インタフェース NavigableMap<K,V> 内の subMap
定義:
インタフェース SortedMap<K,V> 内の subMap
パラメータ:
fromKey - 返されるマップ内のキーの下端点 (これを含む)
toKey - 返されるマップ内のキーの上端点 (これを含まない)
戻り値:
マップの fromKey (これを含む) 〜 toKey (これを含まない) のキー範囲を持つ部分のビュー
例外:
ClassCastException - マップのコンパレータを使用して、fromKeytoKey を相互に比較できない場合 (または、マップに自然順序付けを使用するコンパレータがない場合)実装は、マップ内に現在存在しているキーと fromKey または toKey とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - fromKey または toKey が null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
IllegalArgumentException - fromKeytoKey よりも大きい場合、またはこのマップ自体が制限された範囲を持っており、fromKey または toKey がその範囲の境界の外側にある場合

headMap

public SortedMap<K,V> headMap(K toKey)
インタフェース NavigableMap の記述:
マップの toKey より小さいキーを持つ部分のビューを返します。返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。返されるマップは、このマップがサポートするオプションのマップオペレーションをすべてサポートします。  

返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentException をスローします。  

headMap(toKey, false) と等価です。

定義:
インタフェース NavigableMap<K,V> 内の headMap
定義:
インタフェース SortedMap<K,V> 内の headMap
パラメータ:
toKey - 返されるマップ内のキーの上端点 (これを含まない)
戻り値:
マップの toKey より小さいキーを持つ部分のビュー
例外:
ClassCastException - toKey がこのマップのコンパレータと互換性がない場合 (または、このマップがコンパレータを持たない場合、toKeyComparable を実装していない場合)。実装は、マップ内に現在存在しているキーと toKey とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - toKey が null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
IllegalArgumentException - このマップ自体が制限された範囲を持っており、toKey がその範囲の境界の外側にある場合

tailMap

public SortedMap<K,V> tailMap(K fromKey)
インタフェース NavigableMap の記述:
マップの fromKey 以上のキーを持つ部分のビューを返します。返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。返されるマップは、このマップがサポートするオプションのマップオペレーションをすべてサポートします。  

返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentException をスローします。  

tailMap(fromKey, true) と等価です。

定義:
インタフェース NavigableMap<K,V> 内の tailMap
定義:
インタフェース SortedMap<K,V> 内の tailMap
パラメータ:
fromKey - 返されるマップ内のキーの下端点 (これを含む)
戻り値:
マップの fromKey 以上のキーを持つ部分のビュー
例外:
ClassCastException - fromKey がこのマップのコンパレータと互換性がない場合 (または、このマップがコンパレータを持たない場合、fromKeyComparable を実装していない場合)。実装は、マップ内に現在存在しているキーと fromKey とを比較できない場合にこの例外をスローすることができる。ただし、必須ではない
NullPointerException - fromKey が null であり、このマップが自然順序付けを使用しているかそのコンパレータが null キーを許可しない場合
IllegalArgumentException - このマップ自体が制限された範囲を持っており、fromKey がその範囲の境界の外側にある場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。