|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
キーを識別子として複数の値をグループ化するオブジェクトです。
データ構造的には重複可能なマップ(マルチマップ)と類似です。
グループには、同一のキーを複数登録することはできません。
キーは必ず一意であり、キー対応する値を必ず0個以上保持しています。
グループ化された値の集まりに対して値の重複が許されるか、また要素に順序を持つかは各実装によって異なります。
このインターフェースは Java Collections Framework
の独自拡張の位置付けです。
入れ子クラスの概要 | |
static interface |
Group.Entry
グループのエントリ (キーとコレクションのペア) です。 |
メソッドの概要 | |
boolean |
add(java.lang.Object key)
指定されたキーに対するコレクションを追加します (任意のオペレーション)。 |
boolean |
add(java.lang.Object key,
java.lang.Object value)
指定された値を指定されたキーに対応するコレクションに追加します (任意のオペレーション)。 |
void |
addAll(Group g)
指定されたグループのすべてのキーと対応する全値ををこのグループに追加します (任意のオペレーション)。 |
boolean |
addAll(java.lang.Object key,
java.util.Collection c)
指定されたコレクションの全要素をキーに対応するコレクションに追加します (任意のオペレーション)。 |
void |
clear()
グループのマッピングをすべて削除します (任意のオペレーション)。 |
boolean |
containsKey(java.lang.Object key)
指定されたキーのマッピングがグループに含まれている場合に true を返します。 |
boolean |
containsValue(java.lang.Object key,
java.lang.Object value)
グループが、キーのマッピングしているコレクションに指定された値を 1 つ以上含む場合に true を返します。 |
java.util.Set |
entrySet()
グループに含まれているグループエントリのセットビューを返します。 |
boolean |
equals(java.lang.Object o)
定されたオブジェクトがこのグループと等しいかどうかを比較します。 |
java.util.Collection |
get(java.lang.Object key)
指定されたキーにマッピングされたコレクションを返します。 |
int |
hashCode()
グループのハッシュコード値を返します。 |
boolean |
isEmpty()
グループがキーとコレクションのマッピングを保持しない場合に true を返します。 |
java.util.Iterator |
iterator()
グループに含まれるグループエントリの反復子を返します。 |
java.util.Iterator |
iterator(java.lang.Object key)
指定されたキーにマッピングされたコレクションの要素の反復子を返します。 |
java.util.Set |
keySet()
グループに含まれているキーのセットビューを返します。 |
java.util.Collection |
remove(java.lang.Object key)
このキーにマッピングがある場合に、そのマッピングをグループから削除します (任意のオペレーション)。 |
boolean |
remove(java.lang.Object key,
java.lang.Object value)
このキーにマッピングがある場合に、そのマッピングの要素から指定の値を削除します (任意のオペレーション)。 |
int |
size()
グループ内のキーと値の集合の数を返します。 |
int |
size(java.lang.Object key)
グループ内のキーとマッピングする値のの要素数を返します。 |
メソッドの詳細 |
public void clear()
public boolean isEmpty()
public boolean add(java.lang.Object key)
key
- 指定されるコレクションが関連付けられるキー
public boolean add(java.lang.Object key, java.lang.Object value)
key
- 指定される値が関連付けられるキーvalue
- 指定されるキーに関連付けられる値
public boolean addAll(java.lang.Object key, java.util.Collection c)
key
- 指定されるコレクションの全要素が関連付けられるキーc
- 指定されるキーに関連付けられるコレクション
public void addAll(Group g)
指定されたグループのキー k から値 v までの各マッピングに関して、 この呼び出しの効果は、putAll(k, v) を呼び出した場合と同じです。 指定されたグループがこのオペレーションの処理中に変更された場合、そのオペレーションの動作は指定外となります。
g
- グループに追加されるグループpublic java.util.Iterator iterator()
public java.util.Iterator iterator(java.lang.Object key)
key
- 関連づけられている識別キー
public java.util.Collection get(java.lang.Object key)
指定されたキーにマッピングされたコレクションを返します。
グループがこのキーのマッピングを保持していない場合は null
を返します。
戻り値に Collection
の継承インターフェースの型が戻す実装も有り得ます。
つまり左記の処理が有効である実装が有り得ます、 List l = (List) group.get(key);
。
key
- 関連づけられている識別キー
public java.util.Collection remove(java.lang.Object key)
つまり、 (key==null ? k==null : key.equals(k))
という条件で、キー k からコレクション c
までマッピングがグループに含まれる場合、このマッピングは削除されます。グループはこのようなマッピングを 1 つだけ含みます。
キーに以前マッピングされていたコレクションを返します。
このキーのマッピングがグループにない場合は、null を返します 1 度呼び出しが返れば、グループは指定されたキーのマッピングを含みません。
戻り値に Collection
の継承インターフェースの型が戻す実装も有り得ます。
つまり左記の処理が有効である実装が有り得ます、 List l = (List) group.remove(key);
。
key
- 関連づけられている識別キー
public boolean remove(java.lang.Object key, java.lang.Object value)
つまり、 (k.equals(key)) という条件で、キー key のマッピングがグループに含まれる場合、 コレクション c に対して要素 value が (c.remove(value)) の条件で、これを削除します。
指定された要素がマッピングされたコレクション内に格納されていた場合には true を返します。
すなわち、この呼び出しの結果、グループが変更された場合に true を返します。
key
- 関連づけられている識別キーvalue
-
public boolean containsKey(java.lang.Object key)
つまり、 (k.equals(key)) という条件で、キー key のマッピングがグループに含まれる場合に true を返します。
グループはこのようなマッピングを 1 つだけ含むことができます。
key
- マッピングされているか判定されるキー
public boolean containsValue(java.lang.Object key, java.lang.Object value)
つまり、 (k.equals(key)) という条件で、キー key のマッピングがグループに含まれる場合、コレクション c に対して要素 value が (c.contains(value)) の条件で true の場合に true を返します。
key
- マッピングされているか判定されるキーvalue
- キーをマッピングしているコレクションの内に存在するか判定される値
public java.util.Set keySet()
セットはグループと連動しているので、グループに対する変更はセットに反映され、 また、セットに対する変更はグループに反映されます。
セットに対する反復の処理中にグループが変更された場合は、反復の結果は保証されません。
セットは、Iterator.remove、Set.remove、removeAll、retainAll、および clear の各オペレーションを使って グループから対応するマッピングを削除する要素削除処理をサポートします。
add オペレーションと addAll オペレーションは、セットではサポートされていません。
public java.util.Set entrySet()
セットはグループと連動しているので、グループに対する変更はセットに反映され、 また、セットに対する変更はグループに反映されます。
セットに対する反復の処理中にグループが変更された場合は、反復の結果は保証されません。
セットは、Iterator.remove、Set.remove、removeAll、retainAll、および clear の各オペレーションを使って グループから対応するマッピングを削除する要素削除処理をサポートします。
add オペレーションと addAll オペレーションは、セットではサポートされていません。
public int size()
public int size(java.lang.Object key)
key
- キー
public int hashCode()
グループのハッシュコードは、グループが保有する全てのグループエントリの hashCode の合計になるように定義されます。
これにより、Object.hashCode の一般規約によって要求されるように、任意の 2 つのグループ t1 と t2 で t1.equals(t2) であれば、t1.hashCode()==t2.hashCode()
となることが保証されます。
public boolean equals(java.lang.Object o)
指定されたオブジェクトもグループであり、2 つの Group が同じグループエントリを表している場合は true を返します。
つまり、t1.entrySet().equals(t2.entrySet()) である場合、2 つのグループ t1 と t2 は同じグループエントリを表します。
これにより、Group インタフェースの実装が異なる場合でも、equals メソッドが正しく動作することが保証されます。
o
- グループと等しいかどうかを比較するオブジェクト
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |