CodeGym /Java Blog /ランダム /Java ArrayList addAll() メソッド
John Squirrels
レベル 41
San Francisco

Java ArrayList addAll() メソッド

ランダム グループに公開済み
あるArrayList()コレクションのすべての要素を別のコレクションに追加する必要がある場合は、 Java ArrayListクラスのaddAll()メソッドを使用できます。この記事では、このメソッドがどのように機能するかを説明し、いくつかのコード例を示します。

ArrayList addAll() メソッドのシグネチャ

java.util.ArrayList.addAllメソッドには 2 つのバリエーションがあります。どうぞ。

boolean addAll(Collection<? extends E> c)
このメソッドは、呼び出しの結果としてリストが変更された場合に true を返しますが、最も重要なのは、指定されたコレクションのすべての要素を、指定されたコレクションのイテレーターによって返される順序でこのリストの最後に追加することです。要素 c は、 ArrayListに追加されるリストです。また、指定されたコレクションが null の場合、 このメソッドはNullPointerExceptionをスローします。

boolean addAll(int index, Collection<? extends E> c)
このメソッドは、指定されたコレクションc 内のすべての要素を、指定された位置インデックスからこのリストに挿入します。

ArrayList addAll() の構文例

Java プログラムでの ArrayList addAll()メソッドの呼び出しは次のようになります。

myList.addAll(myNewList)) 
ここで、myListは元のArrayListmyNewList はリストであり、そのすべての値が存在する場合はmyListに追加されます。

myList.addAll(2, myNewList)) 
2 つのパラメーターを持つArrayList addAll()メソッド のバリアント。myNewListのすべての要素がmyListに追加され、最初の要素myNewList[0]はmyList[2]になり、myNewList[1] はmyList[3]になります。以下から始まる元のリストの要素番号 2 は、新しいコンボ リストの最後に引き継がれます。

ArrayList addAll() のコード例

次に、いくつかのコード例を見てみましょう。友達のリストを作成し、それを「友達」と呼び、そこに名前を追加しましょう。たとえば、私たちは大学に入学し、一度に数人の新しい友達を作りました。彼らのために新しい友達リストを作成する良い機会です。時間が経ち、新しい友達が本物であることを一度確認したので、その友達をメインの友達リストに移動することにしました。addAll()メソッドを使用してこれを行うことができます。プログラムでは、友人の初期リスト、新しい友人のリスト、更新された友人のリスト、および addAll() メソッドによって返されたブール値をコンソールに出力します。メソッドの操作により元のリストが変更された場合は true を返し、変更されなかった場合は false を返します。

import java.util.ArrayList;
import java.util.List;

public class AddAllDemo {
       public static void main(String[] args) {

           List<String> friends = new ArrayList<>();
           friends.add("Johnny");
           friends.add("Ivy");
           friends.add("Rick");
           System.out.println(friends);
           List<String> newFriends = new ArrayList<>();
           newFriends.add("Andrew");
           newFriends.add("Alex");
           newFriends.add("Neil");
           System.out.println(newFriends);
           //let's print out the value addAll() method returns
           //here it's true because list friends was changed
           System.out.println(friends.addAll(newFriends));
           System.out.println("My new list with new friends added: ");
           System.out.println(friends);
       }
   }
出力は次のとおりです。
[ジョニー、アイビー、リック] [アンドリュー、アレックス、ニール] true 新しい友達が追加された新しいリスト: [ジョニー、アンドリュー、アレックス、ニール、アイビー、リック]
同じ操作を実行して空のリストを友達に追加しようとすると、メソッドは機能しますが、元のリストは変更されていないため、true ではなく false が返されます。

import java.util.ArrayList;
       import java.util.List;

public class AddAllDemo3 {
   public static void main(String[] args) {
       List<String> friends = new ArrayList<>();
       friends.add("Johnny");
       friends.add("Ivy");
       friends.add("Rick");
       System.out.println(friends);
       List<String> newFriends = new ArrayList<>();
       System.out.println(newFriends);
       System.out.println(friends.addAll(newFriends));
       System.out.println("My new list with new friends added: ");
       System.out.println(friends);
   }
}
出力は次のとおりです。
[ジョニー、アイビー、リック] [] false 新しい友達が追加された新しいリスト: [ジョニー、アイビー、リック]
次に、2 つのパラメーターを指定してaddAll()メソッド を試してみましょう。

boolean addAll(int index, Collection<? extends E> c)
新しい友達をリストの最後尾ではなく真ん中にもう一度追加してみましょう。ジョニーの直後、この場合は要素番号が 0 であるとします。

import java.util.ArrayList;
import java.util.List;

public class AddAllDemo2 {
   public static void main(String[] args) {

       List<String> friends = new ArrayList<>();
       friends.add("Johnny");
       friends.add("Ivy");
       friends.add("Rick");
       System.out.println(friends);
       List<String> newFriends = new ArrayList<>();
       newFriends.add("Andrew");
       newFriends.add("Alex");
       newFriends.add("Neil");
       System.out.println(newFriends);
       System.out.println(friends.addAll(1, newFriends));
       System.out.println("My new list with new friends added: ");
       System.out.println(friends);
   }
}
プログラムの成果として期待される結果は、アンドリューが総合リストで 1 位、アレックスが 2 位、ニールが 3 位となり、以前は 1 位だったアイビーが 4 位に上がりました。
[ジョニー、アイビー、リック] [アンドリュー、アレックス、ニール] true 新しい友達が追加された新しいリスト: [ジョニー、アンドリュー、アレックス、ニール、アイビー、リック]
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION