【Java入門】List⇔配列の相互変換は”toArray”と”asList”でOK!

こんにちは!エンジニアの中沢です。

JavaでListから配列(Array)に変換したり、配列からListに変換したい

と思ったことはありませんか? 実はそのような変換を一発でできる「toArrayメソッド」と「asListメソッド」が用意されています! 今回は、Listと配列を相互に変換する方法解説します!

この記事では、

  • Listを配列に変換したい
  • 配列をListに変換したい
  • toArrayメソッドの使い方を知りたい
  • asListメソッドはどうやって使うの?

という基本的な内容から、

  • toArrayメソッドの引数はどうしたらいいの?
  • asListメソッドで作成したリストのサイズを変更するには?

などの応用的な使い方に関しても解説していきます。今回はこれらの方法を覚えるために、Listと配列を相互に変換する方法をわかりやすく解説します!

Listから配列(Array)に変換する方法

まずは、Listから配列(Array)に変換する方法を解説します!

toArrayメソッドの使い方

ここでは、toArrayメソッドの使い方を解説します。Listから配列に変換するには、「java.util.Collection.toArrayメソッド」を使います。toArrayメソッドの使い方を覚えるために、次のプログラムで確認してみましょう。

[実行結果]

このようにtoArrayメソッドを使うことで、Listから配列に変換することができました! ここでは配列のデータを表示するためにtoStringメソッドを使っています。

引数の注意点

toArrayメソッドの引数には配列のサイズを指定しますが、「toArray(new String[0])」と「toArray(new String[list.size()])」のどちらがいいでしょうか?

どちらで書いても動作はしますが、「toArray(new String[0])」の場合はサイズ”0”の配列を作った後にすぐ削除して、新しくListと同じサイズの配列を作り直すため処理が遅くなります!

そのため、toArrayメソッドの引数はListと同じサイズで配列を作るために「toArray(new String[list.size()])」と書くようにしましょう!

配列(Array)からListに変換する方法

ここでは配列からListに変換する方法を解説します!

Arrays.asListメソッドの使い方

配列からListに変換するには「java.util.Arrays.asListメソッド」を使います。asListメソッドの使い方を覚えるために、次のプログラムで確認してみましょう。

[実行結果]

このようにasListメソッドを使うことで、配列からListに変換することができました!

そのままではサイズが変更できないので注意!

asListメソッドは配列を簡単にListに変換することができて便利なメソッドですが、注意点があります! それは、asListメソッドが「固定サイズのList」を返すので、Listの要素を追加(add)したり削除(remove)することができなくなるということです!

もし、Listのサイズを変更しようとすると「UnsupportedOperationException」の例外が発生するので注意してください。ただし、これから解説する方法を使えばasListメソッドで変換したListのサイズ(要素数)を変更することができるのでぜひ確認してください!

asListメソッドで変換したListのサイズ(要素数)を変更する方法

ここでは、asListメソッドで変換したListのサイズ(要素数)を変更する方法を解説します。asListメソッドで変換したListは「固定サイズのList」なので、そのままではサイズ(要素数)を変えることができません。

「固定サイズのList」を「サイズを変更できるList」に変換する方法を次のプログラムで確認してみましょう。

[実行結果]

このように、新しく宣言したListのコンストラクタに「固定サイズのList」を指定することで、「サイズを変更できるList」に変換することができました!

Listと配列の違いとは

配列やListを扱っていて配列とListの違いがイマイチわからない

といったことはありませんか? 次の記事では、Listと配列の違いを詳しく解説しているのでぜひ確認してみてください!

【Java入門】配列とListの変換(宣言の違いや2次元Listも解説)
更新日 : 2017年8月24日

Listの使い方総ざらい

Listには今回解説した以外にも様々な使い方があります!Listの様々な使い方についてはこちらでまとめているので、ぜひ確認してください!

JavaのList型とは!?ArrayListの使い方を基礎の基礎から解説!
更新日 : 2019年4月23日

配列の使い方総ざらい

配列には今回解説した以外にも様々な使い方があります!配列の様々な使い方についてはこちらでまとめているので、ぜひ確認してください!

まとめ

いかがでしたか? 今回はListと配列の変換方法について解説しました。これでListと配列の変換方法がわからなかったり、asListメソッドで変換したListのサイズが変更できないといった悩みを解決することができました!

もし、List→配列、配列→Listの変換で「toArrayメソッド」や「asListメソッド」の使い方を忘れてしまったらこの記事を確認してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説