|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.AbstractMap
このクラスは、Map インタフェースのスケルトン実装を提供し、このインタフェースを実装するのに必要な作業量を最小限に抑えます。
変更不可能なマップを実装するには、このクラスを拡張して、マップのマッピングのセットビューを返す entrySet メソッドを実装する必要があります。通常、返されたセットは AbstractSet の上に実装されます。このセットでは add メソッドと remove メソッドをサポートしてはいけません。また、セットの反復子では remove メソッドをサポートしてはいけません。
変更可能なマップを実装するには、上記に加えて、このクラスの put メソッドをオーバーライドします (オーバーライドしなかった場合は、UnsupportedOperationException がスローされる)。また、上記に加えて、entrySet().iterator() で返される反復子が、remove メソッドを実装する必要があります。
Map インタフェースの仕様で推奨されているように、通常は、引数なしの void コンストラクタ、および引数にマップをとるコンストラクタを提供してください。
実装の詳細については、このクラスの abstract メソッド以外の各メソッドのドキュメントを参照してください。より効率的な実装ができるマップの場合は、これらのメソッドをオーバーライドしてもかまいません。
Map
,
Collection
コンストラクタの概要 | |
protected |
AbstractMap()
唯一のコンストラクタです。 |
メソッドの概要 | |
void |
clear()
このマップから、すべてのマッピングを削除します (任意のオペレーション)。 |
boolean |
containsKey(Object key)
指定されたキーへのマッピングをこのマップが格納する場合に true を返します。 |
boolean |
containsValue(Object value)
このマップがこの値に 1 つ以上のキーをマッピングする場合に、true を返します。 |
abstract Set |
entrySet()
このマップに格納されているマッピングのセットビューを返します。 |
boolean |
equals(Object o)
指定されたオブジェクトとこのマップが等しいかどうかを比較します。 |
Object |
get(Object key)
このマップによる指定されたキーのマッピング先となる値を返します。 |
int |
hashCode()
このマップのハッシュコード値を返します。 |
boolean |
isEmpty()
このマップにキー値マッピングがない場合に true を返します。 |
Set |
keySet()
このマップに格納されているキーの Set ビューを返します。 |
Object |
put(Object key,
Object value)
指定された値を、このマップの指定されたキーに関連付けます (任意のオペレーション)。 |
void |
putAll(Map t)
指定されたマップから、すべてのマッピングをこのマップにコピーします (任意のオペレーション)。 |
Object |
remove(Object key)
このキーへのマッピングがマップにあれば削除します (任意のオペレーション)。 |
int |
size()
このマップにあるキー値マッピングの数を返します。 |
String |
toString()
このマップの文字列表現を返します。 |
Collection |
values()
このマップに格納されている値のコレクションビューを返します。 |
クラス java.lang.Object から継承したメソッド |
clone,
finalize,
getClass,
notify,
notifyAll,
wait,
wait,
wait |
コンストラクタの詳細 |
protected AbstractMap()
メソッドの詳細 |
public int size()
この実装は entrySet().size() を返します。
public boolean isEmpty()
この実装は size() == 0 の結果を返します。
public boolean containsValue(Object value)
この実装は entrySet() の内容を次々調べ、指定された値を持つエントリを検索します。そのようなエントリが見つかった場合は、true を返します。目的のエントリが見つからずに反復が終了した場合は、false を返します。この実装では、マップのサイズに正比例した時間が必要なことに注意してください。
value
- このマップにあるかどうかを判定する値public boolean containsKey(Object key)
この実装は entrySet() の内容を次々調べ、指定されたキーを持つエントリを検索します。そのようなエントリが見つかった場合は、true を返します。目的のエントリが見つからずに反復が終了した場合は、false を返します。この実装では、マップのサイズに正比例した時間が必要なことに注意してください。多くの実装は、このメソッドをオーバーライドします。
key
- このマップにあるかどうかを判定するキーpublic Object get(Object key)
この実装は entrySet() の内容を次々調べ、指定されたキーを持つエントリを検索します。そのようなエントリが見つかった場合は、エントリの値を返します。目的のエントリが見つからずに反復が終了した場合は、null を返します。この実装では、マップのサイズに正比例した時間が必要なことに注意してください。多くの実装は、このメソッドをオーバーライドします。
key
- 関連付けられた値を返すキーcontainsKey(Object)
public Object put(Object key, Object value)
この実装は、常に UnsupportedOperationException をスローします。
key
- 指定された値が関連付けられるキーvalue
- 指定されたキーに関連付けられる値public Object remove(Object key)
この実装は entrySet() の内容を次々調べ、指定されたキーを持つエントリを検索します。そのようなエントリが見つかった場合は、エントリの値を実装の getValue オペレーションで取得し、エントリを Collection とその基になるマップから削除します。削除は反復子の remove オペレーションを使い、保存された値が返されます。目的のエントリが見つからずに反復が終了した場合は、null を返します。この実装では、マップのサイズに正比例した時間が必要なことに注意してください。多くの実装は、このメソッドをオーバーライドします。
key
- マップからマッピングを削除されるキーpublic void putAll(Map t)
この実装は、指定されたマップの entrySet() コレクションの内容を次々調べ、反復によって各エントリが返されるごとに、このマップの put オペレーションを 1 回呼び出します。
t
- このマップに格納されるマッピングpublic void clear()
この実装は、entrySet().clear() を呼び出します。
public Set keySet()
この実装は、AbstractSet をサブクラス化する Set を返します。このサブクラスの iterator メソッドは、このマップの entrySet() 反復子の「ラッパーオブジェクト」を返します。size メソッドはこのマップの size メソッドに委譲し、contains メソッドは、このマップの containsKey メソッドに委譲します。
Set は、このメソッドが最初に呼び出されたときに作成され、それに続くすべての呼び出しに応じて返されます。同期は一切行われません。このため、わずかながら、このメソッドへの複数の呼び出しに対して、同じ Set が返されない可能性があります。
public Collection values()
この実装は、抽象コレクションをサブクラス化するコレクションを返します。このサブクラスの iterator メソッドは、このマップの entrySet() 反復子の「ラッパーオブジェクト」を返します。size メソッドはこのマップの size メソッドに委譲し、contains メソッドは、このマップの containsValue メソッドに委譲します。
コレクションは、このメソッドが最初に呼び出されたときに作成され、それに続くすべての呼び出しに応じて返されます。同期は一切行われません。このため、わずかながら、このメソッドへの複数の呼び出しに対して、同じ Collection が返されない可能性があります。
public abstract Set entrySet()
public boolean equals(Object o)
この実装は、指定されたオブジェクトがこのマップ自身であるかどうかを最初に調べます。このマップである場合、実装は true を返し、指定されたオブジェクトについて、このセットと同じサイズのマップであるかどうかを調べます。指定されたオブジェクトがこのマップでない場合は false を返し、このマップの entrySet() コレクションの内容を次々調べて、指定されたマップに、このマップが格納している各マッピングが含まれているかどうかを調べます。指定されたマップにそのようなマッピングがない場合は、false が返されます。反復が完了した場合に true が返されます。
o
- このマップと等しいかどうか比較されるオブジェクトpublic int hashCode()
この実装は、Collection の各要素 (エントリ) の hashCode を呼び出して、entrySet() の内容を次々調べ、結果を加算していきます。
Map.Entry.hashCode()
,
Object.hashCode()
,
Object.equals(Object)
,
Set.equals(Object)
public String toString()
この実装は空の文字列バッファを作成し、左中括弧を付加してから、マップの entrySet ビューを反復して調べて、各 map.entry の文字列表現を順に付加していきます。各要素の後には、文字列 ", " が付加されます。ただし、最後の要素の後には、", " ではなく右中括弧が付加されます。最後に文字列バッファから文字列を取得して返します。
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |