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

クラス ArraySet<E>

型パラメータ:
E - 型オブジェクト
すべての実装されたインタフェース:
Serializable, Cloneable, Iterable<E>, Collection<E>, SequencedCollection<E>, SequencedSet<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

      public ArraySet(E... elements)
      LinkedHashSet を継承した、Setオブジェクトです。 初期オブジェクト作成のための、引数に、配列を渡せるようにしています。
      パラメータ:
      elements - 初期値として設定する可変長配列
      変更履歴:
      7.0.1.1 (2018/10/22) 新規追加, 8.5.3.2 (2023/10/13) JDK21対応。警告: [this-escape] サブクラスが初期化される前の'this'エスケープの可能性があります
  • メソッドの詳細

    • 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 - 各要素に対して実行されるアクション( カウンタ、内部オブジェクト )
      関連項目:
      変更履歴:
      6.4.3.4 (2016/03/11) 新規追加
    • toString

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