Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

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", "OS X" };
    List<String> list = Arrays.asList(str);

    list.set(0, "ウィンドウズ");
    System.out.println(list);
	// 結果:[ウィンドウズ, Linux, OS X]
    System.out.println(Arrays.toString(str));
	// 結果:[ウィンドウズ, Linux, OS X]

    list.add("Android");	// 結果:エラー
    list.remove(0);	// 結果:エラー
  }
}

asListメソッドの機能は、あくまで配列をコレクションフレームワークで利用できるように、リストの皮を被せるものです。よって、リストへの変更はそのまま元の配列にも反映されますが、追加/削除はUnSupportedOperationException例外を発生します。

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

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職