asListメソッド
配列からリストに変換する – asListメソッド- public static
List asList(T… a) - T:任意の型
- a:変換する配列
Javaには、言語仕様に組み込まれたしくみとして、配列が用意されています。しかし、お作法的には、まずはコレクションフレームワークを優先して利用すべきです。理由は、以下の通りです。
・コレクションフレームワークの方が機能性にも優れ、用途に応じてさまざまなクラスが提供されている
・クラスライブラリであることから他のクラスとの親和性も高い
もちろん、それでもやむを得ず、配列を使わなければならない局面はあるでしょう。そのような場合にも、Arrays.asListメソッドを利用することで、配列をリスト(コレクション)に変換する手段が提供されています。
CollAsList.java
package com.example.mynavi.collection; import java.util.Arrays; import java.util.List; public class CollAsList { public static void main(String[] args) { String[] str = { "Windows", "Linux", "macOS" }; List<String> list = Arrays.asList(str); list.set(0, "ウィンドウズ"); System.out.println(list); // 結果:[ウィンドウズ, Linux, macOS] System.out.println(Arrays.toString(str)); // 結果:[ウィンドウズ, Linux, macOS] list.add("Android"); // 結果:エラー list.remove(0); // 結果:エラー } }
asListメソッドの機能は、あくまで配列をコレクションフレームワークで利用できるように、リストの皮を被せるものです。よって、リストへの変更はそのまま元の配列にも反映されますが、追加/削除はUnSupportedOperationException例外を発生します。