概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## shohaku.core.collections.group
クラス AbstractMapGroup

    java.lang.Object
      shohaku.core.collections.group.AbstractMapGroup

すべての実装インタフェース:
  Group

直系の既知のサブクラス:
  HashListGroup, HashSetGroup

public abstract class AbstractMapGroup
extends java.lang.Object
implements Group

このクラスは、`Map`を基にした`Group`インタフェースのスケルトン実装を提供し、このインタフェースを実装するのに必要な作業量を最小限に抑えます。

入れ子クラスの概要
`protected static class` | `AbstractMapGroup.SimpleEntry` グループエントリのシンプル実装を提供します。

クラス shohaku.core.collections.Group から継承した入れ子クラス
`Group.Entry`

フィールドの概要
`protected java.util.Map` | `groupMap` 実装の基となる Map。

コンストラクタの概要
`protected` | `AbstractMapGroup(java.util.Map groupMap)` 基にする Map を登録して初期化します。

メソッドの概要
`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)` 指定されたコレクションの全要素をキーに対応するコレクションに追加します (任意のオペレーション)。
`protected void` | `addAllEntrys(Group g)` 指定されたグループのすべてのキーと対応する全値ををこのグループに追加します。
`protected boolean` | `addEntry(java.lang.Object key)` 指定されたキーに対するコレクションを追加します (任意のオペレーション)。
`protected boolean` | `addEntryValue(java.lang.Object key, java.lang.Object value)` 指定された値を指定されたキーに対応するコレクションに追加します。
`protected boolean` | `addEntryValues(java.lang.Object key, java.util.Collection values)` 指定されたコレクションの全要素をキーに対応するコレクションに追加します。
`void` | `clear()` グループのマッピングをすべて削除します。
`abstract java.lang.Object` | `clone()` グループのクローンオブジェクトを生成して返却します。
`protected boolean` | `containsEntry(Group.Entry entry)` グループの内に指定のエントリと同値のエントリを含む場合に`true`を返却します。
`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)` 指定されたキーのマッピングするコレクションを返却します。
`protected Group.Entry` | `getEntry(java.lang.Object key)` 指定されたキーのマッピングするグループエントリを返却します。
`protected java.util.Collection` | `getEntryValues(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()` グループに含まれているキーのセットビューを返却します。
`protected Group.Entry` | `newEntry(java.lang.Object key)` 新規にグループエントリを生成して返却します。
`protected Group.Entry` | `newEntry(java.lang.Object key, java.util.Collection values)` 実装が提供するグループエントリを生成して返却します。
`protected abstract java.util.Collection` | `newEntryCollection()` 実装が提供するキーに関連づけられるコレクションを生成して返却します。
`protected java.util.Iterator` | `newEntryIterator()` グループエントリの反復子を生成して返却します。
`java.util.Collection` | `remove(java.lang.Object key)` このキーにマッピングがある場合に、そのマッピングをグループから削除します (任意のオペレーション)。
`boolean` | `remove(java.lang.Object key, java.lang.Object value)` このキーにマッピングがある場合に、そのマッピングの要素から指定の値を削除します (任意のオペレーション)。
`protected boolean` | `removeEntry(Group.Entry entry)` グループの内に指定のエントリと同値のエントリを削除します。
`protected java.util.Collection` | `removeEntryByKey(java.lang.Object key)` 指定されたキーに対するコレクションを削除します。
`protected boolean` | `removeValue(java.lang.Object key, java.lang.Object value)` 指定されたキーに対するコレクションの指定された値を削除します。
`int` | `size()` グループ内のキーと値の集合の数を返却します。
`int` | `size(java.lang.Object key)` グループ内のキーとマッピングする値のの要素数を返却します。
`java.lang.String` | `toString()` グループの文字列表現を返却します。

クラス java.lang.Object から継承したメソッド
`finalize, getClass, notify, notifyAll, wait, wait, wait`

フィールドの詳細

### groupMap

    protected final java.util.Map groupMap

  実装の基となる Map。

コンストラクタの詳細

### AbstractMapGroup

    protected AbstractMapGroup(java.util.Map groupMap)

  基にする Map を登録して初期化します。

パラメータ:
  `groupMap` - 基にする Map

メソッドの詳細

### clear

    public void clear()

  グループのマッピングをすべて削除します。

  定義:
    インタフェース `Group` 内の `clear`
  関連項目:
    `Group.clear()`

### isEmpty

    public boolean isEmpty()

  グループがキーとコレクションのマッピングを保持しない場合に`true`を返却します。

  定義:
    インタフェース `Group` 内の `isEmpty`
  戻り値:
    グループがキーとコレクションのマッピングを保持しない場合は true
  関連項目:
    `Group.isEmpty()`

### add

    public boolean add(java.lang.Object key)

  指定されたキーに対するコレクションを追加します (任意のオペレーション)。
  グループに既にこのキーに対するマッピングがある場合何も行われません。
  グループに既にこのキーに対するマッピングがある場合`true`を返却します。

  定義:
    インタフェース `Group` 内の `add`
  パラメータ:
    `key` - 指定されるコレクションが関連付けられるキー
  戻り値:
    既にこのキーに対するマッピングがある場合 true
  例外:
    `java.lang.NullPointerException` - 指定されたキーがNullの場合
  関連項目:
    `Group.add(java.lang.Object)`

### add

    public boolean add(java.lang.Object key,
                       java.lang.Object value)

  指定された値を指定されたキーに対応するコレクションに追加します (任意のオペレーション)。
  グループにこのキーに対するマッピングが存在しない場合は新規に追加されます。
  グループに既にこのキーに対するマッピングがある場合`true`を返却します。

  定義:
    インタフェース `Group` 内の `add`
  パラメータ:
    `key` - 指定される値が関連付けられるキー
    `value` - 指定されるキーに関連付けられる値
  戻り値:
    既にこのキーに対するマッピングがある場合 true
  例外:
    `java.lang.NullPointerException` - 指定されたキーがNullの場合
  関連項目:
    `Group.add(java.lang.Object, java.lang.Object)`

### addAll

    public boolean addAll(java.lang.Object key,
                          java.util.Collection c)

  指定されたコレクションの全要素をキーに対応するコレクションに追加します (任意のオペレーション)。
  グループにこのキーに対するマッピングが存在しない場合は新規に追加されます。
  グループに既にこのキーに対するマッピングがある場合`true`を返却します。

  定義:
    インタフェース `Group` 内の `addAll`
  パラメータ:
    `key` - 指定されるコレクションの全要素が関連付けられるキー
    `c` - 指定されるキーに関連付けられるコレクション
  戻り値:
    既にこのキーに対するマッピングがある場合 true
  例外:
    `java.lang.NullPointerException` - 指定されたキーまたはコレクションがNullの場合
  関連項目:
    `Group.addAll(java.lang.Object, java.util.Collection)`

### addAll

    public void addAll(Group g)

  指定されたグループのすべてのキーと対応する全値ををこのグループに追加します (任意のオペレーション)。

  指定されたグループのキー k から値 v までの各マッピングに関して、この呼び出しの効果は、putAll(k, v) を呼び出した場合と同じです。 指定されたグループがこのオペレーションの処理中に変更された場合、そのオペレーションの動作は指定外となります。

  定義:
    インタフェース `Group` 内の `addAll`
  パラメータ:
    `g` - グループに追加されるグループ
  例外:
    `java.lang.NullPointerException` - 指定されたグループがNullの場合
  関連項目:
    `Group.addAll(shohaku.core.collections.Group)`

### iterator

    public java.util.Iterator iterator()

  グループに含まれるグループエントリの反復子を返却します。
  反復子の要素は Group.Entry 型に為ります。 エントリが存在しない場合空の反復子が返ります。

  定義:
    インタフェース `Group` 内の `iterator`
  戻り値:
    グループエントリの反復子
  関連項目:
    `Group.iterator()`

### iterator

    public java.util.Iterator iterator(java.lang.Object key)

  指定されたキーに対応するコレクションの要素の反復子を返却します。
  指定されたキー対応するコレクションが存在しない場合空の反復子が返ります。

  定義:
    インタフェース `Group` 内の `iterator`
  パラメータ:
    `key` - 関連づけられている識別キー
  戻り値:
    キーに対応するコレクションの反復子
  例外:
    `java.lang.NullPointerException` - 指定されたキーがNullの場合
  関連項目:
    `Group.iterator(java.lang.Object)`

### get

    public java.util.Collection get(java.lang.Object key)

  指定されたキーのマッピングするコレクションを返却します。
  グループがこのキーのマッピングを保持していない場合はnull を返却します。

  定義:
    インタフェース `Group` 内の `get`
  パラメータ:
    `key` - 関連づけられている識別キー
  戻り値:
    指定のキーをマッピングするコレクション
  例外:
    `java.lang.NullPointerException` - 指定されたキーがNullの場合
  関連項目:
    `Group.get(java.lang.Object)`

### remove

    public java.util.Collection remove(java.lang.Object key)

  このキーにマッピングがある場合に、そのマッピングをグループから削除します (任意のオペレーション)。

  つまり、(key==null ? k==null : key.equals(k)) という条件で、キー k からコレクション c までマッピングがグループに含まれる場合、このマッピングは削除されます。 グループはこのようなマッピングを 1 つだけ含みます。

  キーに以前対応付けられていたコレクションを返却します。 このキーのマッピングがグループにない場合は、null を返却します 1 度呼び出しが返れば、グループは指定されたキーのマッピングを含みません。

  定義:
    インタフェース `Group` 内の `remove`
  パラメータ:
    `key` - 対応付けられているキー
  戻り値:
    指定されたキーと対応付けられていた以前のコレクション。キーのマッピングがなかった場合は null
  例外:
    `java.lang.NullPointerException` - 指定されたキーがNullの場合
  関連項目:
    `Group.remove(java.lang.Object)`

### remove

    public boolean remove(java.lang.Object key,
                          java.lang.Object value)

  このキーにマッピングがある場合に、そのマッピングの要素から指定の値を削除します (任意のオペレーション)。

  つまり、(key==null ? k==null : key.equals(k)) という条件で、キー k からコレクション c までマッピングがグループに含まれる場合、(value==null ? e==null : value.equals(e)) である要素 e がコレクションに 1 つ以上格納されている場合に、これを削除します。

  指定された要素がマッピングされたコレクション内に格納されていた場合には true を返却します。
  すなわち、この呼び出しの結果、グループが変更された場合に`true`を返却します。

  定義:
    インタフェース `Group` 内の `remove`
  パラメータ:
    `key` - 関連づけられている識別キー
    `value` -
  戻り値:
    指定されたキーと関連付けられていた以前のコレクション。キーのマッピングがなかった場合は null
  例外:
    `java.lang.NullPointerException` - 指定されたキーがNullの場合
  関連項目:
    `Group.remove(java.lang.Object, java.lang.Object)`

### containsKey

    public boolean containsKey(java.lang.Object key)

  指定されたキーのマッピングがグループに含まれている場合に`true`を返却します。

  つまり、グループに、(key==null ? k==null : key.equals(k)) となるキーk のマッピングが含まれている場合にだけ true を返却します。 グループはこのようなマッピングを 1 つだけ含むことができます。

  定義:
    インタフェース `Group` 内の `containsKey`
  パラメータ:
    `key` - マッピングされているか判定されるキー
  戻り値:
    グループが指定のキーのマッピングを保持する場合は true
  例外:
    `java.lang.NullPointerException` - 指定されたキーがNullの場合
  関連項目:
    `Group.containsKey(java.lang.Object)`

### containsValue

    public boolean containsValue(java.lang.Object key,
                                 java.lang.Object value)

  グループが、キーのマッピングしているコレクションに指定された値を 1 つ以上含む場合に`true`を返却します。

  つまり、キーのマッピングしているコレクションに、(value==null ? v==null : value.equals(v)) となる値 v が 1 つ以上ある場合にだけ true を返却します。

  定義:
    インタフェース `Group` 内の `containsValue`
  パラメータ:
    `key` - マッピングされているか判定されるキー
    `value` - キーをマッピングしているコレクションの内に存在するか判定される値
  戻り値:
    グループが指定のキーにマッピングされるコレクションの内に値が存在する場合は true
  例外:
    `java.lang.NullPointerException` - 指定されたキーがNullの場合
  関連項目:
    `Group.containsValue(java.lang.Object, java.lang.Object)`

### keySet

    public java.util.Set keySet()

  グループに含まれているキーのセットビューを返却します。

  セットはグループと連動しているので、グループに対する変更はセットに反映され、また、セットに対する変更はグループに反映されます。 セットに対する反復の処理中にグループが変更された場合は、反復の結果は保証されません。 セットは、Iterator.remove、Set.remove、removeAll、retainAll、および clear の各オペレーションを使って グループから対応するマッピングを削除する要素削除処理をサポートします。 add オペレーションと addAll オペレーションは、セットではサポートされていません。

  定義:
    インタフェース `Group` 内の `keySet`
  戻り値:
    グループに含まれているキーのセットビュー
  関連項目:
    `Group.keySet()`

### entrySet

    public java.util.Set entrySet()

  グループに含まれているグループエントリのセットビューを返却します。

  セットはグループと連動しているので、グループに対する変更はセットに反映され、また、セットに対する変更はグループに反映されます。 セットに対する反復の処理中にグループが変更された場合は、反復の結果は保証されません。 セットは、Iterator.remove、Set.remove、removeAll、retainAll、および clear の各オペレーションを使って グループから対応するマッピングを削除する要素削除処理をサポートします。 add オペレーションと addAll オペレーションは、セットではサポートされていません。

  定義:
    インタフェース `Group` 内の `entrySet`
  戻り値:
    グループに含まれているグループエントリのセットビュー
  関連項目:
    `Group.entrySet()`

### size

    public int size()

  グループ内のキーと値の集合の数を返却します。 グループに Integer.MAX_VALUE より多くの要素がある場合は、Integer.MAX_VALUE を返却します。

  定義:
    インタフェース `Group` 内の `size`
  戻り値:
    マッピングの数
  関連項目:
    `Group.size()`

### size

    public int size(java.lang.Object key)

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

  定義:
    インタフェース `Group` 内の `size`
  パラメータ:
    `key` - キー
  戻り値:
    キーとマッピングする値のの要素数
  例外:
    `java.lang.NullPointerException` - 指定されたキーがNullの場合
  関連項目:
    `Group.size(java.lang.Object)`

### hashCode

    public int hashCode()

  グループのハッシュコード値を返却します。

  グループのハッシュコードは、グループが保有する全てのグループエントリの hashCode の合計になるように定義されます。 これにより、Object.hashCode の一般規約によって要求されるように、任意の 2 つのグループ t1 と t2 で t1.equals(t2) であれば、t1.hashCode()==t2.hashCode() となることが保証されます。

  定義:
    インタフェース `Group` 内の `hashCode`
  戻り値:
    グループのハッシュコード値
  関連項目:
    `Object.hashCode()`

### equals

    public boolean equals(java.lang.Object o)

  定されたオブジェクトがこのグループと等しいかどうかを比較します。

  指定されたオブジェクトもグループであり、2 つの Group が同じグループエントリを表している場合は true を返却します。 つまり、t1.entrySet().equals(t2.entrySet()) である場合、2 つのグループ t1 と t2 は同じグループエントリを表します。 これにより、Group インタフェースの実装が異なる場合でも、equals メソッドが正しく動作することが保証されます。

  定義:
    インタフェース `Group` 内の `equals`
  パラメータ:
    `o` - グループと等しいかどうかを比較するオブジェクト
  戻り値:
    指定されたオブジェクトがグループと等しい場合は true
  関連項目:
    `Object.equals(java.lang.Object)`

### toString

    public java.lang.String toString()

  グループの文字列表現を返却します。

  戻り値:
    グループの文字列表現
  関連項目:
    `Object.toString()`

### containsEntry

    protected boolean containsEntry(Group.Entry entry)

  グループの内に指定のエントリと同値のエントリを含む場合に`true`を返却します。

  パラメータ:
    `entry` - 存在するか検証するグループエントリ
  戻り値:
    グループの内に指定のエントリと同値のエントリが存在する場合は true

### removeEntry

    protected boolean removeEntry(Group.Entry entry)

  グループの内に指定のエントリと同値のエントリを削除します。

  パラメータ:
    `entry` - 削除するグループエントリ
  戻り値:
    エントリが実際に削除されたが場合は true

### getEntry

    protected Group.Entry getEntry(java.lang.Object key)

  指定されたキーのマッピングするグループエントリを返却します。
  グループがこのキーのマッピングを保持していない場合はnull を返却します。

  パラメータ:
    `key` - 関連づけられている識別キー
  戻り値:
    指定のキーをマッピングするグループエントリ

### getEntryValues

    protected java.util.Collection getEntryValues(java.lang.Object key)

  指定されたキーのマッピングするコレクションを返却します。 グループがこのキーのマッピングを保持していない場合は null を返却します。

  パラメータ:
    `key` - 関連づけられている識別キー
  戻り値:
    指定のキーをマッピングするコレクション

### addEntry

    protected boolean addEntry(java.lang.Object key)

  指定されたキーに対するコレクションを追加します (任意のオペレーション)。
  グループに既にこのキーに対するマッピングがある場合何も行われません。
  グループに既にこのキーに対するマッピングがある場合`true`を返却します。

  パラメータ:
    `key` - 指定されるコレクションが関連付けられるキー
  戻り値:
    既にこのキーに対するマッピングがある場合 true

### removeEntryByKey

    protected java.util.Collection removeEntryByKey(java.lang.Object key)

  指定されたキーに対するコレクションを削除します。
  実際に削除された場合削除されたコレクション、削除されなかった場合は`null`を返却します。

  パラメータ:
    `key` - 新規登録するキー
  戻り値:
    実際に削除された場合削除されたコレクション、削除されなかった場合は`null`

### removeValue

    protected boolean removeValue(java.lang.Object key,
                                  java.lang.Object value)

  指定されたキーに対するコレクションの指定された値を削除します。
  実際に削除された場合`true`を返却します。

  パラメータ:
    `key` - 新規登録するキー
    `value` - 指定されるキーに関連付けられる値
  戻り値:
    既にこのキーに対するマッピングがある場合`true`

### addEntryValue

    protected boolean addEntryValue(java.lang.Object key,
                                    java.lang.Object value)

  指定された値を指定されたキーに対応するコレクションに追加します。
  グループにこのキーに対するマッピングが存在しない場合は新規に追加されます。
  グループに既にこのキーに対するマッピングがある場合`true`を返却します。

  パラメータ:
    `key` - 指定される値が関連付けられるキー
    `value` - 指定されるキーに関連付けられる値
  戻り値:
    既にこのキーに対するマッピングがある場合`true`

### addEntryValues

    protected boolean addEntryValues(java.lang.Object key,
                                     java.util.Collection values)

  指定されたコレクションの全要素をキーに対応するコレクションに追加します。
  グループにこのキーに対するマッピングが存在しない場合は新規に追加されます。
  グループに既にこのキーに対するマッピングがある場合`true`を返却します。

  パラメータ:
    `key` - 指定されるコレクションの全要素が関連付けられるキー
    `values` - 指定されるキーに関連付けられるコレクション
  戻り値:
    既にこのキーに対するマッピングがある場合`true`

### addAllEntrys

    protected void addAllEntrys(Group g)

  指定されたグループのすべてのキーと対応する全値ををこのグループに追加します。

  パラメータ:
    `g` - グループに追加されるグループ

### newEntry

    protected Group.Entry newEntry(java.lang.Object key)

  新規にグループエントリを生成して返却します。

  パラメータ:
    `key` - 新規登録するキー
  戻り値:
    新規のグループエントリ

### newEntryIterator

    protected java.util.Iterator newEntryIterator()

  グループエントリの反復子を生成して返却します。

  戻り値:
    グループエントリの反復子

### newEntry

    protected Group.Entry newEntry(java.lang.Object key,
                                   java.util.Collection values)

  実装が提供するグループエントリを生成して返却します。
  実装クラスでエントリを実装する場合、オーバライドしてください。

  パラメータ:
    `key` - 新規登録するキー
    `values` - 新規登録するコレクション
  戻り値:
    実装が提供する新規のコレクション

### clone

    public abstract java.lang.Object clone()

  グループのクローンオブジェクトを生成して返却します。

  戻り値:
    グループのクローンオブジェクト
  関連項目:
    `Object.clone()`

### newEntryCollection

    protected abstract java.util.Collection newEntryCollection()

  実装が提供するキーに関連づけられるコレクションを生成して返却します。

  戻り値:
    実装が提供する新規のコレクション

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド