【Java】コレクションとジェネリックス


Javaについて、復習しながら更新していきます。
今回のテーマはコレクション!!

コレクションとは

複数のデータの集まりのことをコレクションと呼称する。Javaでは複数のデータを取り扱うために、コレクションフレームワークが用意されている。



[主なコレクションの階層構造]


[各コレクションの特徴]
コレクション名内容
List内容の重複は許可しており、内容を 順序付けて管理するコレクション。ArrayListやLinkedListなどのクラスが用意されている。
Set重複を不可とし、一意の要素を管理するコレクション。順不同で管理するため添え字は存在していない。HashSetやTreeSetなどのクラスが用意されている。
Mapデータとキーの値をペアで管理するコレクション。キーは一意で値は重複しても問題ない。HashMapやTreeMApなどのクラスが用意されている。



ジェネリックスとは

List<E>の<E>部分のダイヤの形部分に、クラスの型を当てはめて使用していたが、<E>と指定することで汎用的にクラスを使用することができるようになる機能のことをジェネリックスと呼ぶ。コレクションのクラスは、もともとArrayList<E>やHashMap<K,V>と定義されており、使用する際に<E>や<K,V>部分がString等の型を設定することで統一性を持って使用できるようになっているのである。



[構文]

[修飾子] class クラス名 <型のパラメータリスト,,>
{
//変数定義
[修飾子] 型パラメータ 変数名;
//メソッド定義
[修飾子] 型パラメータ メソッド名(型パラメータ 引数名) {}
}




[例]
//ジェネリックスクラス
class GenTest
{
	private E value;
	//戻り値にジェネリックスを使用
	public E getMethod()
	{
		return value;
	}
	//引数にジェネリックスを使用
	public void setValue(E value)
	{
		this.value = value;
	}
}
public class TEST2 {
	public static void main(String[] args)
	{
		//インスタンス化すると部分をStringとして扱うことができる。
		GenTest gen = new GenTest();
		gen.setValue("test");
		System.out.println(gen.getMethod());
	}
}


以上。




【ブログを始めるなら】

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA