Java ArrayList addAll() メソッド
addAll() メソッドは、指定されたコレクション内のすべての要素を arraylist に追加します。
addAll() メソッドの構文は次のとおりです:
arraylist.addAll(int index, Collection c)
注:arraylist は ArrayList クラスのオブジェクトです。
パラメータの説明:
- index(オプションのパラメータ)- コレクション要素が挿入される場所のインデックス値を示します。
- c - 挿入するコレクション要素
index に実引数が渡されない場合、要素は配列の末尾に追加されます。
戻り値
要素の挿入に成功した場合は、true を返します。
指定されたコレクションが null の場合、NullPointerException 例外がスローされます。
注意:index が範囲外の場合、このメソッドは IndexOutOfBoundsException 例外をスローします。
例
ArrayList addAll() メソッドを使用して要素を挿入する:
例
class Main {
public static void main(String[] args){
// 動的配列を作成する
ArrayList<Integer> primeNumbers = new ArrayList<>();
// 動的配列に要素を追加する
primeNumbers.add(3);
primeNumbers.add(5);
System.out.println("Prime Numbers: " + primeNumbers);
// 別の動的配列を作成する
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
// primeNumbers のすべての要素を numbers の動的配列に追加する
numbers.addAll(primeNumbers);
System.out.println("Numbers: " + numbers);
}
}
上記のプログラムを実行すると、出力結果は次のようになります:
Prime Numbers: [3, 5] Numbers: [1, 2, 3, 5]
上記の例では、primeNumbers と numbers という2つの動的配列を作成しました。
この行に注目してください:
numbers.addAll(primeNumbers);
ここでは、addAll() メソッドにオプションのパラメータ index が渡されていません。そのため、primeNumbers のすべての要素が numbers の末尾に追加されます。
指定した位置に要素を挿入する:
例
class Main {
public static void main(String[] args){
ArrayList<String> languages1 = new ArrayList<>();
languages1.add("Java");
languages1.add("Python");
System.out.println("ArrayList 1: " + languages1);
// 別の配列を作成する
ArrayList<String> languages2 = new ArrayList<>();
languages2.add("JavaScript");
languages2.add("C");
System.out.println("ArrayList 2: " + languages2);
// インデックス値が1の位置で、配列 languages1 のすべての要素を languages2 に追加する
languages2.addAll(1, languages1);
System.out.println("ArrayList 2 の更新: " + languages2);
}
}
上記のプログラムを実行すると、出力結果は次のようになります:
ArrayList 1:[Java,Python] ArrayList 2:[JavaScript,C] 更新 ArrayList 2:[JavaScript,Java,Python,C]
この行に注目してください:
languages2.addAll(1, languages1);
ここでは、addAll() メソッドにオプションのパラメータ index が渡されています。そのため、配列 languages1 のすべての要素が、配列 languages のインデックス値1の位置に追加されます。
集合 Set の要素を動的配列に挿入する:
例
import java.util.HashSet;
class Main {
public static void main(String[] args){
// String 型の hashset を作成する
HashSet<String> set = new HashSet<>();
// hashset に要素を追加する
set.add("Java");
set.add("Python");
set.add("JavaScript");
System.out.println("HashSet: " + set);
// 配列を作成する
ArrayList<String> list = new ArrayList<>();
// 配列に要素を追加する
list.add("English");
System.out.println("ArrayList の初期化: " + list);
// hashset のすべての要素を配列に追加する
list.addAll(set);
System.out.println("ArrayList の更新: " + list);
}
}
上記のプログラムを実行すると、出力結果は次のようになります:
Set: [Java, JavaScript, Python] 初始化 ArrayList: [English] 更新 ArrayList: [English, Java, JavaScript, Python]
上記の例では、set という名前の hashset クラスと、list という名前の動的配列を作成しました。この行に注目してください:
list.addAll(set);
我々は addAll() メソッドを使用して、hashset のすべての要素を動的配列に追加しました。このメソッドにはオプションのパラメータ index が渡されていません。そのため、すべての要素が動的配列の末尾に追加されます。
その他の拡張
Java ArrayList