icon
icon

Javaで配列を変換する方法について現役エンジニアが解説【初心者向け】

初心者向けにJavaで配列を変換する方法について解説しています。リストから配列への変換にはtoArrayメソッド、配列からリストへの変換にはasListメソッドを使います。それぞれの書き方を覚えましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

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

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

配列を変換する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

配列を変換する方法とは

Javaには同じ型の複数の値をまとめて一つの変数として使うことができるものとして配列とリストが存在します。役割の違いや使用するメソッドの引数によって配列で定義した変数をリストに変換もしくはリストを配列に変換したい時があります。

Javaにはリストから配列の変換のためにtoArrayメソッドが、配列からリストへの変換のためにasListメソッドが準備されています。

 

[PR] Javaプログラミングで挫折しない学習方法を動画で公開中

toArrayとasListを使う

それぞれ使い方を見ていきます。まずリストから配列の変換のためのtoArrayメソッドですが以下の形式で使うことができます。

 

変換したいリスト.toArray(変換後に使う配列);

 

変換した後に使う配列をtoArrayメソッドの引数として渡すことでリストが配列に変換され、引数で渡した配列を後続処理でそのまま使用することができます。

次に配列からリストへの変換のためのasListメソッドについて解説します。asListメソッドは以下の形式で使用することができます。

 

import java.util.Arrays;

List<型> リスト名 = Arrays.asList(配列名);

 

Arrays.asListメソッドの引数に変換したい配列を設定します。asListメソッドの戻り値として変換されたリストが戻ってくるので変数に代入することで後続処理で変換したリストを使用することができます。

 

実際に書いてみよう

では実際にtoArrayメソッドとasListメソッドを使用したプログラムを書いてみましょう。

 

プログラムソースコード

 

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

public class Main {
  public static void main(String[] args) {
    List<String> list = new ArrayList<String>(Arrays.asList("apple", "banana", "melon", "orange"));
    
    String[] array = new String[list.size()];
    list.toArray(array); // リストから配列に変換
    System.out.println(Arrays.toString(array));
    
    List<String> list02 = new ArrayList<String>();
    list02 = Arrays.asList(array); // 配列からリストに変換
    System.out.println(list02.toString());
  }
}

 

実行結果

[apple, banana, melon, orange]
[apple, banana, melon, orange]

 

この記事ではJavaで配列を変換する方法について解説しました。

 

監修してくれたメンター

メンターSさん

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

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

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

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

 

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