Java で配列から ArrayList を作成する方法

  1. Java における配列とは何か?
  2. Java の ArrayList とは何か?
  3. Java の配列と ArrayList の違い
  4. Array.asList() を用いた配列から ArrayList への変換
  5. Collectionions.addAll() を用いた配列から ArrayList への変換
  6. add() を用いた配列から ArrayList への変換

このチュートリアルでは、Java で配列から ArrayList を作成する様々な方法を紹介します。Java で配列を ArrayList に変換する方法には、Arrays.asList()Collections.addAll()add() の 3つのメソッドがあります。

デモを進める前に、配列と ArrayList とは何か、また、それぞれの違いを理解しておきましょう。

Java における配列とは何か?

配列は、似たような型のデータを一定数集めたものである。例えば、50 冊の本のデータを格納したい場合、50 冊の本を格納できる文字列型の配列を作成することができる。作成後、配列の長さは固定される。配列は Java の基本的な組み込み機能である。

String[] array = new String[50];

Java の ArrayList とは何か?

ArrayList は、java.util パッケージの中にある要素の動的なコレクションを格納したリサイズ可能な配列である。

Java の配列と ArrayList の違い

配列と ArrayList の主な違いは、配列の長さを変更したり拡張したりすることができないことである。配列に要素を追加したり削除したりするには、新しいリストを作成しなければならない。一方、ArrayList はリサイズ可能であるため、いつでも要素を追加したり削除したりすることができる。

Array.asList() を用いた配列から ArrayList への変換

Arrays.asList() を用いて配列をこのメソッドに渡し、list オブジェクトを取得し、それを ArrayList クラスのコンストラクタにパラメータとして渡す。Arrays.asList() の構文は以下の通りである。

ArrayList<T> arraylist = new ArrayList<T>(Arrays.asList(arrayname));

以下の例を見てみよう。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Method1 {
  public static void main(String[] args) {
      String[] subjects = {"maths", "english", "history", "physics"};
      ArrayList<String> sublist = new ArrayList<String>(Arrays.asList(subjects));
      sublist.add("geography");
      sublist.add("chemistry");
    
      for (String str: sublist)
      {
            System.out.println(str);
      }
  }
}

出力:

maths
english
history
physics
geography
chemistry

Collectionions.addAll() を用いた配列から ArrayList への変換

このメソッドは Arrays.asList() とほぼ同じように配列の全要素をリストアップする。しかし、Collections.addAll()Arrays.asList() メソッドに比べて性能的にははるかに高速である。Collections.addAll() の構文は以下の通りである。

Collections.addAll(arraylist, new Element(1), new Element(2), new Element(3), new Element(4));

以下の例を理解しましょう。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Method2 {
  public static void main(String[] args) {
      String[] names = {"john", "emma", "rick", "tim"};
      ArrayList<String> namelist = new ArrayList<String>();
      Collections.addAll(namelist, names);
      namelist.add("jenny");
      namelist.add("rob");
    
      for (String str: namelist)
      {
            System.out.println(str);
      }
  }
}

出力:

john
emma
rick
tim
jenny
rob

add() を用いた配列から ArrayList への変換

このメソッドを使えば、新しいリストを作成してリストの要素を追加することができます。add() メソッドの構文は以下の通りである。

arraylist.add(element);

以下の例を見てみよう。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Method3 {
  public static void main(String[] args) {
      ArrayList<String> planetlist = new ArrayList<String>();
      String[] planets = {"earth", "mars", "venus", "jupiter"};
      for(int i=0;i<planets.length;i++)
      {
            planetlist.add(planets[i]);        
      }
      for (String str: planetlist)
      {
            System.out.println(str);
      }
  }
}

出力:

earth
mars
venus
jupiter

上記のメソッドに続いて、配列を ArrayList に簡単に変換することができます。

関連記事 - Java Array

  • Java で 16 進文字列のバイト配列を変換する方法
  • Java で配列要素を並べ替える方法
  • 関連記事 - Java ArrayList

  • Java で配列をリストに変換する方法
  • Java で配列が空/ヌル(Null/Empty)かどうかをチェックする方法
  • comments powered by Disqus