パッケージ 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) 新規追加
導入されたバージョン:
  JDK8.0,

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

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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, toArray, toArray`

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

  `equals, hashCode, removeAll`

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

  `addAll, containsAll, retainAll`

  ### クラスから継承されたメソッド 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を返しません