Javaの配列とリストの違いや変換方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaの配列とリストの違いや変換方法について解説しています。配列とリストはどちらも複数の値を扱うものです。それぞれの機能と違い、相互の変換方法について学習しましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Javaの配列とリストの違いや変換方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

配列とリストの違いや変換方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

配列とは

配列とは同じ型の複数の値をまとめて一つの変数として扱う時に使うものです。配列は複数の値をまとめて扱えるため配列に入れた順番に0から数値が割り振られます。その割り振られたインデックス番号を元に値を取り出したり書き換えたりすることができます。

配列は以下のように初期化して使うことができます

型[] 変数名 = new 型[配列のサイズ];

配列は複数の値を一つの変数にまとめて使えるため便利ですが初期化時に配列のサイズを決める必要があるためそれ以上増減することができません。

途中で要素の削除や追加が発生する場合は大変不便です。

 

[PR] Javaで挫折しない学習方法を動画で公開中

リストとは

リストはコレクションと呼ばれるJavaの標準機能の一つでjava.utilパッケージの中にあるクラスです。

リストも配列と同じく一つの変数に複数の値をまとめて扱うことができますが配列と違いリストのサイズを決める必要がないため処理の途中でリストの要素の削除や追加があった場合でも使いやすいです。

リストは以下のように記述して使います

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

List<参照型> 変数名 = new arrayList<参照型>();

<>の部分にはかたやクラスを設定することができますが参照型しか指定できません。なので例えば数値を使いたい場合はintと記述するのではなくIntegerと記述する必要があります。

 

リストから配列に変換する方法

リストから配列に変換するときはtoArrayメソッドを使います。

toArray関数は以下のように使います。

参照型[] 変数名 = リスト.toArray(new 参照型[リスト.size()]);

toArrayメソッドの引数としてリストの中で格納されている参照型の配列をリストのサイズで初期化したオブジェクトを設定します。

 

配列からリストに変換する方法

配列からリストに変換するにはArrays.asListメソッドを使います。

Arraysはjava.utilパッケージの中にあるクラスでArraysクラスの中にあるasListメソッドを使うことで配列からリストに変換することができます。

配列からリストへの変換は以下のように記述します。

import java.util.Arrays;

List<参照型> 変数名 = Arrays.toList(配列);

toListメソッドの引数に変換したい配列を格納することでリストに変換することができます。

 

実際に書いてみよう

では実際にリストと配列の変換を記述してみましょう

プログラムソースコード

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

public class SampleClass {
  public static void main(String[] args) {
    List<String> list01 = new ArrayList<>();
    list01.add("T");
    list01.add("e");
    list01.add("c");
    list01.add("h");
    list01.add("academy");
    String[] array01 = list01.toArray(new String[list01.size()]);
    System.out.println(Arrays.toString(array01));

    String[] array02 = {"T", "e", "c", "h", "academy"};
    List<String> list02 = Arrays.asList(array02);
    System.out.println(list02);
  }
}

 

実行結果

[T, e, c, h, academy]
[T, e, c, h, academy]

 

この記事はJavaの配列からリストの変換方法およびリストから配列への変換方法について解説しました。

 

監修してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。

TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも最短4週間で、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。