JavaTM Platform
Standard Ed. 6

java.util.concurrent
クラス ConcurrentSkipListMap<K,V>

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

public class ConcurrentSkipListMap<K,V>
extends AbstractMap<K,V>
implements ConcurrentNavigableMap<K,V>, Cloneable, Serializable

スケーラブルな並行 ConcurrentNavigableMap 実装です。マップは、使用するコンストラクタに応じて、そのキーの自然順序付けに従って、またはマップ作成時に提供される Comparator によってソートされます。  

このクラスは、SkipLists の並行バリアントを実装して、containsKeygetputremove の各オペレーションとそのバリアントに予想される平均 log(n) 時間コストを提供します。挿入、削除、更新、アクセスの各オペレーションは、複数のスレッドによって並行して、安全に実行されます。反復子は「弱一貫性」を持ち、ある時点または反復子の作成以降のマップの状態を反映する要素を返します。これらは ConcurrentModificationException をスローせず、ほかのオペレーションとの並行処理が可能です。昇順のキーで並べられたビューとその反復子は、降順の場合よりも高速になります。  

このクラス内のメソッドによって返されるすべての Map.Entry ペアとそのビューは、マッピングの生成時のスナップショットを表します。これは Entry.setValue メソッドをサポートしていません。ただし、必要とする効果に応じて、putputIfAbsent、または replace を使用して、関連付けられたマップ内のマッピングを変更することができます。  

大半のコレクションとは異なり、size メソッドは一定時間のオペレーションではないことに留意してください。これらのマップには非同期という特性があるため、現在の要素数を判定するには要素全体をトラバースする必要があります。また、putAllequals、および clear の一括オペレーションは、原子的な実行は保証されていません。たとえば、putAll オペレーションと並行して動作する反復子は、追加された要素の一部しか表示しないことがあります。  

このクラスとそのビューおよび反復子は、Map および Iterator インタフェースの「オプション」メソッドすべてを実装します。ほかの大半の並行処理コレクションと同様、このクラスは null キーまたは値の使用を許可しません。これは、一部の null 戻り値は、要素がない場合と確実に区別することができないためです。  

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

導入されたバージョン:
1.6
関連項目:
直列化された形式

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

コンストラクタの詳細

ConcurrentSkipListMap

public ConcurrentSkipListMap()
キーの自然順序付けに従ってソートされた、新しい空のマップを作成します。


ConcurrentSkipListMap

public ConcurrentSkipListMap(Comparator<? super K> comparator)
指定されたコンパレータに従ってソートされた、新しい空のマップを作成します。

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

ConcurrentSkipListMap

public ConcurrentSkipListMap(Map<? extends K,? extends V> m)
指定されたマップと同じマッピングを持ち、キーの自然順序付けに従ってソートされた新しいマップを作成します。

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

ConcurrentSkipListMap

public ConcurrentSkipListMap(SortedMap<K,? extends V> m)
指定されたソートマップと同じマッピングを持ち、同じ順序付けを使用する、新しいマップを作成します。

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

clone

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

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

containsKey

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

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

get

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

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

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

put

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

定義:
インタフェース Map<K,V> 内の put
オーバーライド:
クラス AbstractMap<K,V> 内の put
パラメータ:
key - 指定された値が関連付けられるキー
value - 指定されたキーに関連付けられる値
戻り値:
指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーまたは値が null の場合

remove

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

定義:
インタフェース Map<K,V> 内の remove
オーバーライド:
クラス AbstractMap<K,V> 内の remove
パラメータ:
key - マッピングを削除する必要があるキー
戻り値:
指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

containsValue

public boolean containsValue(Object value)
マップが 1 つまたは複数のキーと指定された値をマッピングしている場合に true を返します。このオペレーションはマップのサイズに正比例した時間がかかります。

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

size

public int size()
マップ内のキー値マッピングの数を返します。このマップに Integer.MAX_VALUE より多くの要素がある場合は、Integer.MAX_VALUE を返します。  

大半のコレクションとは異なり、このメソッドは一定時間のオペレーションではないことに留意してください。これらのマップには非同期という特性があるため、現在の要素数を判定するには要素すべてをトラバースしてカウントする必要があります。また、このメソッドの実行中にサイズが変更される可能性もあり、その場合、返される値は不正確になります。そのため、このメソッドは、通常は並行処理アプリケーションではあまり便利ではありません。

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

isEmpty

public boolean isEmpty()
マップがキーと値のマッピングを保持しない場合に true を返します。

定義:
インタフェース Map<K,V> 内の isEmpty
オーバーライド:
クラス AbstractMap<K,V> 内の isEmpty
戻り値:
マップがキーと値のマッピングを保持しない場合は true

clear

public void clear()
すべてのマッピングをマップから削除します。

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

keySet

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

ビューの iterator は「弱一貫性」を持つ反復子であり、ConcurrentModificationException をスローすることはなく、反復子の構築時に存在した要素をトラバースすることを保証します。また、構築後のすべての変更を反映します (ただし保証されてはいない)。  

このメソッドは、navigableKeySet と同等です。

定義:
インタフェース ConcurrentNavigableMap<K,V> 内の keySet
定義:
インタフェース Map<K,V> 内の keySet
定義:
インタフェース SortedMap<K,V> 内の keySet
オーバーライド:
クラス AbstractMap<K,V> 内の keySet
戻り値:
このマップ内のキーのナビゲート可能なセットビュー

navigableKeySet

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

ビューの iterator は「弱一貫性」を持つ反復子であり、ConcurrentModificationException をスローすることはなく、反復子の構築時に存在した要素をトラバースすることを保証します。また、構築後のすべての変更を反映します (ただし保証されてはいない)。

定義:
インタフェース ConcurrentNavigableMap<K,V> 内の navigableKeySet
定義:
インタフェース NavigableMap<K,V> 内の navigableKeySet
戻り値:
このマップ内のキーのナビゲート可能なセットビュー

values

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

ビューの Iterator は「弱一貫性」を持つ反復子であり、ConcurrentModificationException をスローすることはなく、反復子の構築時に存在した要素をトラバースすることを保証します。また、構築後のすべての変更を反映します (ただし保証されてはいない)。

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

entrySet

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

ビューの Iterator は「弱一貫性」を持つ反復子であり、ConcurrentModificationException をスローすることはなく、反復子の構築時に存在した要素をトラバースすることを保証します。また、構築後のすべての変更を反映します (ただし保証されてはいない)。  

iterator.next() によって返される Map.Entry 要素は、setValue オペレーションをサポートしません。

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

descendingMap

public ConcurrentNavigableMap<K,V> descendingMap()
インタフェース ConcurrentNavigableMap の記述:
マップ内に保持されているマッピングの逆順のビューを返します。降順マップはこのマップに連動しており、このマップでの変更は降順マップに反映され、その逆の場合も同様です。  

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

定義:
インタフェース ConcurrentNavigableMap<K,V> 内の descendingMap
定義:
インタフェース NavigableMap<K,V> 内の descendingMap
戻り値:
このマップの逆順のビュー

descendingKeySet

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

ビューの iterator は「弱一貫性」を持つ反復子であり、ConcurrentModificationException をスローすることはなく、反復子の構築時に存在した要素をトラバースすることを保証します。また、構築後のすべての変更を反映します (ただし保証されてはいない)。

定義:
インタフェース ConcurrentNavigableMap<K,V> 内の descendingKeySet
定義:
インタフェース NavigableMap<K,V> 内の descendingKeySet
戻り値:
このマップ内のキーのナビゲート可能な逆順セットビュー

equals

public boolean equals(Object o)
指定されたオブジェクトがこのマップと等しいかどうかを比較します。指定されたオブジェクトがマップであり、2 つのマップが同じマッピングを表す場合に true を返します。つまり、m1.entrySet().equals(m2.entrySet()) である場合、2 つのマップ m1m2 は同じマッピングを表します。このオペレーションは、マップのいずれかがこのメソッドの実行中に並行して変更された場合、誤解を招きやすい結果を返すことがあります。

定義:
インタフェース Map<K,V> 内の equals
オーバーライド:
クラス AbstractMap<K,V> 内の equals
パラメータ:
o - このマップと等しいかどうかを比較するオブジェクト
戻り値:
指定されたオブジェクトがマップと等しい場合は true
関連項目:
Object.hashCode(), Hashtable

putIfAbsent

public V putIfAbsent(K key,
                     V value)
指定されたキーがまだ値と関連付けられていない場合は、指定された値に関連付けます。これは次の記述と同等です。
   if (!map.containsKey(key))
       return map.put(key, value);
   else
       return map.get(key);
ただし、アクションが原子的に実行される点が異なります。

定義:
インタフェース ConcurrentMap<K,V> 内の putIfAbsent
パラメータ:
key - 指定された値が関連付けられるキー
value - 指定されたキーに関連付けられる値
戻り値:
指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーまたは値が null の場合

remove

public boolean remove(Object key,
                      Object value)
指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。これは次の記述と同等です。
   if (map.containsKey(key) && map.get(key).equals(value)) {
       map.remove(key);
       return true;
   } else return false;
ただし、アクションが原子的に実行される点が異なります。

定義:
インタフェース ConcurrentMap<K,V> 内の remove
パラメータ:
key - 指定された値が関連付けられるキー
value - 指定されたキーに関連付けられていると予想される値
戻り値:
値が削除された場合は true
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

replace

public boolean replace(K key,
                       V oldValue,
                       V newValue)
指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを置換します。これは次の記述と同等です。
   if (map.containsKey(key) && map.get(key).equals(oldValue)) {
       map.put(key, newValue);
       return true;
   } else return false;
ただし、アクションが原子的に実行される点が異なります。

定義:
インタフェース ConcurrentMap<K,V> 内の replace
パラメータ:
key - 指定された値が関連付けられるキー
oldValue - 指定されたキーに関連付けられていると予想される値
newValue - 指定されたキーに関連付けられる値
戻り値:
値が置換された場合は true
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 引数が 1 つでも null の場合

replace

public V replace(K key,
                 V value)
キーが値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。これは次の記述と同等です。
   if (map.containsKey(key)) {
       return map.put(key, value);
   } else return null;
ただし、アクションが原子的に実行される点が異なります。

定義:
インタフェース ConcurrentMap<K,V> 内の replace
パラメータ:
key - 指定された値が関連付けられるキー
value - 指定されたキーに関連付けられる値
戻り値:
指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーまたは値が 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 - マップが空の場合

subMap

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

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

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

headMap

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

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

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

tailMap

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

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

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

subMap

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

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

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

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

headMap

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

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

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

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

tailMap

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

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

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

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

lowerEntry

public Map.Entry<K,V> lowerEntry(K key)
指定されたキーよりも確実に小さい、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、null を返します。返されるエントリは、Entry.setValue メソッドをサポートしません。

定義:
インタフェース NavigableMap<K,V> 内の lowerEntry
パラメータ:
key - キー
戻り値:
key よりも小さいキーのなかで最大のものを持つエントリ。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

lowerKey

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

定義:
インタフェース NavigableMap<K,V> 内の lowerKey
パラメータ:
key - キー
戻り値:
key よりも小さいキーのなかで最大のもの。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

floorEntry

public Map.Entry<K,V> floorEntry(K key)
指定されたキー以下の、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、null を返します。返されるエントリは、Entry.setValue メソッドをサポートしません。

定義:
インタフェース NavigableMap<K,V> 内の floorEntry
パラメータ:
key - キー
戻り値:
key と等しいかそれよりも小さいキーのなかで最大のものを持つエントリ。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

floorKey

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

定義:
インタフェース NavigableMap<K,V> 内の floorKey
パラメータ:
key - キー
戻り値:
key と等しいかそれよりも小さいキーのなかで最大のもの。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

ceilingEntry

public Map.Entry<K,V> ceilingEntry(K key)
指定されたキー以上の、最小のキーと関連するキーと値のマッピングを返します。そのようなエントリが存在しない場合は、null を返します。返されるエントリは、Entry.setValue メソッドをサポートしません。

定義:
インタフェース NavigableMap<K,V> 内の ceilingEntry
パラメータ:
key - キー
戻り値:
key と等しいかそれよりも大きいキーのなかで最小のものを持つエントリ。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

ceilingKey

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

定義:
インタフェース NavigableMap<K,V> 内の ceilingKey
パラメータ:
key - キー
戻り値:
key と等しいかそれよりも大きいキーのなかで最小のもの。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

higherEntry

public Map.Entry<K,V> higherEntry(K key)
指定されたキーよりも確実に大きい、最小のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、null を返します。返されるエントリは、Entry.setValue メソッドをサポートしません。

定義:
インタフェース NavigableMap<K,V> 内の higherEntry
パラメータ:
key - キー
戻り値:
key よりも大きいキーのなかで最小のものを持つエントリ。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

higherKey

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

定義:
インタフェース NavigableMap<K,V> 内の higherKey
パラメータ:
key - キー
戻り値:
key よりも大きいキーのなかで最小のもの。そのようなキーが存在しない場合は null
例外:
ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
NullPointerException - 指定されたキーが null である場合

firstEntry

public Map.Entry<K,V> firstEntry()
マップ内の最小のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、null を返します。返されるエントリは、Entry.setValue メソッドをサポートしません。

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

lastEntry

public Map.Entry<K,V> lastEntry()
マップ内の最大のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、null を返します。返されるエントリは、Entry.setValue メソッドをサポートしません。

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

pollFirstEntry

public Map.Entry<K,V> pollFirstEntry()
マップ内の最小のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、null を返します。返されるエントリは、Entry.setValue メソッドをサポートしません。

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

pollLastEntry

public Map.Entry<K,V> pollLastEntry()
マップ内の最大のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、null を返します。返されるエントリは、Entry.setValue メソッドをサポートしません。

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

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 も参照してください。