パッケージ org.opengion.fukurou.util

## クラス ArraySet<E>

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractSet<E>
    - - java.util.HashSet<E>
      - - java.util.LinkedHashSet<E>
        - - org.opengion.fukurou.util.ArraySet<E>

- すべての実装されたインタフェース:
    `Serializable`, `Cloneable`, `Iterable<E>`, `Collection<E>`, `Set<E>`

      public class ArraySet<E>
      extends LinkedHashSet<E>

  ArraySet.java は、LinkedHashSet を継承した、Setオブジェクトです。 初期オブジェクト作成のための、引数に、配列(可変長配列)を渡せるようにしています。 また、Iterable#forEach( Consumer ) で、ループカウンタが使えるように、新しく、 BiConsumer を引数に取る forEach( int , BiConsumer ) メソッドを用意しています。
  関連項目:
    直列化された形式
  変更履歴:
    6.4.3.4 (2016/03/11) 新規追加
  バージョン
    6.4
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK8.0,

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `ArraySet​(E... elements)` | LinkedHashSet を継承した、Setオブジェクトです。

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `ArraySet<E>` | `addAll​(Collection<E>... collect)` | 他のCollectionオブジェクトを追加します。
    `void` | `forEach​(int cnt, BiConsumer<Integer,​E> action)` | Iterable#forEach( Consumer ) で、引数に、ループカウンタを使用できるメソッドです。
    `String` | `toString()` | このオブジェクトの内部表現を、文字列にして返します。

    - ### クラスから継承されたメソッド java.util.LinkedHashSet

      `spliterator`

    - ### クラスから継承されたメソッド java.util.HashSet

      `add, clear, clone, contains, isEmpty, iterator, remove, size`

    - ### クラスから継承されたメソッド java.util.AbstractSet

      `equals, hashCode, removeAll`

    - ### クラスから継承されたメソッド java.util.AbstractCollection

      `addAll, containsAll, retainAll, toArray, toArray`

    - ### クラスから継承されたメソッド java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### インタフェースから継承されたメソッド java.util.Collection

      `parallelStream, removeIf, stream, toArray`

    - ### インタフェースから継承されたメソッド java.lang.Iterable

      `forEach`

    - ### インタフェースから継承されたメソッド java.util.Set

      `add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray`

- - ### コンストラクタの詳細

    - #### ArraySet

          public ArraySet​(E... elements)

      LinkedHashSet を継承した、Setオブジェクトです。 初期オブジェクト作成のための、引数に、配列を渡せるようにしています。
      パラメータ:
        `elements` - 初期値として設定する可変長配列
      変更履歴:
        7.0.1.1 (2018/10/22) 新規追加

  - ### メソッドの詳細

    - #### addAll

          public ArraySet<E> addAll​(Collection<E>... collect)

      他のCollectionオブジェクトを追加します。
      パラメータ:
        `collect` - Collectionオブジェクトの可変長配列
      戻り値:
        自分自身
      変更履歴:
        6.4.3.4 (2016/03/11) 新規追加

    - #### forEach

          public void forEach​(int cnt,
                              BiConsumer<Integer,​E> action)

      Iterable#forEach( Consumer ) で、引数に、ループカウンタを使用できるメソッドです。 ラムダ式から参照されるローカル変数は、finalまたは事実上のfinalである必要があります。 ところが、訳あって、ループカウンタが必要です。そこで、内部処理として、ループカウンタを 用意しておき、それを、ラムダ式の引数として渡す方法で、対応します。 一覧の処理は、内部で、Iterator#hasNext() と、Iterator#next() を使用しているため、 インスタンスレベルのsynchronized ブロックを使用しています。
      パラメータ:
        `cnt` - カウンタの初期値
        `action` - 各要素に対して実行されるアクション( カウンタ、内部オブジェクト )
      関連項目:
        `Iterable.forEach( Consumer )`
      変更履歴:
        6.4.3.4 (2016/03/11) 新規追加

    - #### toString

          public String toString()

      このオブジェクトの内部表現を、文字列にして返します。 内部ｵﾌﾞｼﾞｪｸﾄの toString() を順番に呼んで、カンマで連結した文字列を返します。
      オーバーライド:
        `toString` クラス内 `AbstractCollection<E>`
      戻り値:
        引数に対する値
      変更履歴:
        7.0.1.1 (2018/10/22) 新規追加
      このメソッドは、nullを返しません