注目記事

【Javaコード入門】コレクションフレームワーク_⑥toArrayメソッド

リストから配列に変換する – toArrayメソッド

public T toArray(T a)
 T:任意の型
 a:変換先の配列

リストから配列に変換するには、toArrayメソッドを利用します。引数aにリストの内容が入らない場合には、すべての要素が入るような配列を生成します。
リストの要素型が配列の要素型と合致しない場合には、ArrayStoreException例外を発生します。

CollToArray.java

  1. package com.example.mynavi.collection;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6.  
  7. public class CollToArray {
  8.   public static void main(String[] args) {
  9.     var list = new ArrayList<String>() {
  10.       {
  11.         add("Windows");
  12.         add("Linux");
  13.         add("macOS");
  14.       }
  15.     };
  16.     var str = new String[list.size()];
  17.     list.toArray(str);
  18.     System.out.println(Arrays.toString(str));   // 結果:[Windows, Linux, macOS]
  19.     System.out.println(list);   // 結果:[Windows, Linux, macOS]
  20.   }
  21. }

引数aは省略することも可能ですが、その場合、戻り値はリストの要素型に関わらず、Object配列となってしまいます。まずは型を判定できるよう、引数aは省略しないことをお勧めします。

コレクションフレームワーク_目次
コレクションフレームワーク
コレクションを初期化する
synchronizedList/synchronizedMap/synchronizedSetメソッド
ArrayListクラス
asListメソッド
toArrayメソッド
LinkedList
HashMap
TreeMap
NavigableMap
HashSet
ArrayDeque

監修

山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。