Javaで初期追加したListを生成する際のテクニック

ちょっとしたjavaのCollection、つーかListのテクニックメモです。
下のサンプルが全てなので説明は簡単に。

頻繁ではないかもしれませんが、たまに初期処理的に固定で値を詰めたListを生成したい時に
使えます。

書き方は3つ用意しています。

1.インスタンスを生成してaddする書き方
2.匿名クラスとインスタンスイニシャライザーを利用する書き方
3.Arraysクラスの可変長引数(引数の個数が不定)を利用する書き方 1.5からのみ

2の書き方は匿名クラスとしてArrayListのサブクラスを即時生成し、そのインスタンスイニシャライザーで追加処理を
書く方法です。インスタンスイニシャライザーはコンストラクタの実行前に呼ばれます。

3の書き方はJDK1.5からのみです。引数の個数不定の可変長引数を用いてArraysクラスで初期化された
ArrayListを生成します。

Main.java

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

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//パターン1 インスタンスを生成してaddする書き方
		List<String> listA = new ArrayList<String>();
		listA.add("a");
		listA.add("b");
		listA.add("c");

		//パターン2 匿名クラスとインスタンスイニシャライザーを利用する書き方
		List<String> listB = new ArrayList<String>() {
			{
				add("a");
				add("b");
				add("c");
			}
		};

		//パターン3 Arraysクラスの可変長引数(引数の個数が不定)を利用する書き方(1.5から)
		List<String> listC = Arrays.asList("a", "b", "c");
	}

}
広告
投稿者: potter0517 カテゴリー: Java タグ:

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中