【Java】ArrayListに指定したコレクションをすべて追加するArrayList.addAllメソッドについて解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、12年目エンジニアです。

この記事では、 JavaでArrayListに指定したコレクションをすべて追加するArrayList.addAllメソッドについて

  • ArrayList.addAllメソッドとは
  • ArrayList.addAllメソッドを使うときの注意点
  • ArrayList.addAllメソッドを使ったサンプルプログラム

と、丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
IntelliJ IDEAのエディション Community(無料版)
IntelliJ IDEAのバージョン 2021.3.2
プロジェクト Javaプロジェクト
SDK Oracle OpenJDK version17.0.2

Javaを動かすためにIntelliJ IDEAを使っています。
IntelliJ IDEAのインストールは、下の記事をご参考ください。

ArrayList.addAllメソッドとは

ArrayList.addAllメソッドとは、ArrayListに引数で指定されているコレクションをすべて追加して結果をbooleanで返すメソッドです。
addAllメソッド実行でArrayListが変更した場合はtrue、変わらなかった場合はfalseが返されます。

ArrayList.addAllメソッドを使うためには、

をインポートする必要があります。

ArrayList.addAllメソッドは使い方が

  • パターン1:インデックスを指定しない場合
  • パターン2:インデックスを指定する場合

の合計2パターンあります。
それぞれ解説します。

パターン1:インデックスを指定しない場合

インデックスを指定しないでArrayList.addAllメソッドを使った場合、引数のコレクションはArrayListの最後に追加されます。

たとえば

というArrayListがある、とします。
中身は

です。

このArrayListに対して

と実行した場合、変数sampleは

というArrayListになり、変数resultには

が返されます。

パターン2:インデックスを指定する場合

インデックスを指定してArrayList.addAllメソッドを使った場合、指定したインデックスで引数のコレクションが挿入されます。
もし挿入された位置より後ろに要素が存在する場合、1つずつ後ろにずれます。

たとえばパターン1の解説で使った

中身は

というArrayListに対して

と実行した場合、変数sampleは

と、1番目にコレクションが挿入され、元1番目の「hogehoge」は追加したコレクションの後ろにずれたArrayListになります。
変数resultには

が返されます。

ArrayList.addAllメソッドを使うときの注意点

ArrayList.addAllメソッドを使うときの注意点として

  • nullは追加できない
  • ArrayListの要素数以内の数しか指定できない(パターン2限定)

があります。
の2点があります。
それぞれ解説します。

注意点その1:nullは追加できない

注意点その1のnullは追加できない、についてです。

ArrayList.addAllメソッドは、nullのコレクションは追加できません。
なのでたとえば

とnullのコレクションをArrayList.addAllメソッドで追加しようとした場合、コンパイルは通るものの実行すると

という例外が発生します。

注意点その2:ArrayListの要素数以内の数しか指定できない(パターン2限定)

注意点その2のArrayListの要素数以内の数しか指定できない、についてです。
これは追加するインデックスも指定するパターン2限定です。

たとえば

と要素数より大きい数をArrayList.addAllメソッドに指定して実行すると

という例外が発生します。
負の数でも同様な例外が発生します。

では、次の章で実際に使ってみます。

ArrayList.addAllメソッドを解説するプログラムの概要

ArrayList.addAllメソッドを解説するプログラムでは、ArrayListを新規作成し

  1. インデックス指定なし
  2. インデックス指定あり

でそれぞれ要素を追加して、結果を表示させます。

解説で使うJavaプログラムは、Sampleプロジェクトのsampleパッケージ内にある、とします。
JavaのArrayList.addメソッドを解説

Javaサンプルプログラム

ArrayList.addメソッドは、ArrayListに引数で指定されている値を追加するメソッドです。
詳しくはこちらの記事をご参考ください。

実行結果

Javaプログラムを実行します。
実行のやり方は

  • プログラムを右クリックして実行
  • 実行タブから実行
  • ガターから実行

の3種類あるので、いずれかで実行します。
詳しい解説は以下の記事をご参考ください。

JavaのArrayList.addAllメソッドを解説

インデックスを指定しなかった場合は最後に、指定した場合は指定した位置にコレクションが挿入できていることが確認できました。

まとめ:ArrayList.addAllメソッドを使ってみよう!

以上がJavaのArrayList.addAllメソッドについての解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました