【Javaの復習】ArrayListを使って年月日を追加・削除してみよう

勉強メモ回。偶にはJavaの復習でも。今日はコレクションフレームワークのうち、ArrayListの話。なおVectorオワコンらしいのでスルー。

 

おすすめの参考書。

 

コレクション

コレクションとは?

配列は最初に要素数を決める必要があるため、管理するobjectが適宜変更される場合には配列は適さない。

そこで配列の代わりにコレクションを用いる。

 

ArrayList

いきなりプログラムを書いた方が分かりやすい気がするので、適当なプログラムを書いてみる。


ArrayListの勉強

 

実行結果

date1 : 2016, 12, 20
date2 : 2017, 1, 1
date3 : 2017, 2, 2
------------------------
date1 : 2016, 12, 20
date2 : 2017, 2, 2

 

<Date>は型パラメータと呼ばれるもので、インスタンスを生成するときに扱うクラスの型を指定する。今回はDate型に指定している。この機能をジェネリクスと呼ぶ。

 

さて、このパラメータが無かった時はどうなるだろう。

例えばArrayList none = new ArrayList();のようにすると、どんなオブジェクトでもObject型として格納される。そのため、格納したときの型として扱いたいときには、ジェネリクスを用いるか、キャストする必要がある。

例)Date d = (Date)date.get(i);

 

addメソッドは引数で渡されたオブジェクトを要素として格納する。それをgetオブジェクトの引数で指定した場所に格納されているオブジェクトを返すことでArrayListの内容を表示している。

 

removeメソッドは名前の通り要素を削除する。実行結果を見ればわかる通り、要素1が削除され、要素2が要素1に押し上げられている。

 

型パラメータには参照型を記述しなければならない。つまりintなどの基本型はラッパークラスを使用する。

例)Integer , Double

 

なお25行目でaddした2月2日は、リゼロのレムりんの誕生日である。以上。