1. コレクション
ユーティリティ 1章 コレクション
1.1. java.util.Vector
コレクションクラスは他のオブジェクトのデータを管理する事のできるクラスです。ここでは最も基本である「Vector」について説明します。
「Vector」は可変個のオブジェクトを格納する事のできる配列クラスです。通常の配列と異なるのは、要素の追加に応じて自動的にサイズが変わる点です。
以下は「Vector」を利用したサンプルプログラムです。
import java.util.Vector; public class NumberList { public static void main(String args[]) { int num=Integer.parseInt(args[0]); Vector vector=new Vector(); for(int i = 0; i < num; i++) { vector.add(new Integer(i).toString()); } for(int i = 0; i < vector.size(); i++) { String text=(String)vector.get(i); System.out.println(text); } } }
「add」メソッドで要素の追加(8行目)、「get」メソッドで指定番号の要素を返します(11行目)。「add」メソッドの引数は「java.lang.Object」ですので、整数などの基本データ型を格納する場合にはStringやラッパークラスを使用する必要があります。また「get」メソッドの返り値も「java.lang.Object」ですので、適切なクラスにキャストして取り出してやる必要があります。
(実習課題1)
以下のプログラムを作成しなさい。
- ウィンドウに含まれるコンポーネントは何らかのテキストが書かれたボタン5つと、「表示」「初期化」と書かれたボタン2つ。
- 5つのボタンを押すと、ボタンにかかれたテキストが「Vector」クラスに押された順に記憶される。
- 「表示」ボタンを押すと、コンソールに記憶されたテキストを順に表示する。
- 「初期化」ボタンを押すと、記憶されたテキストを全て消去する。
(実習課題2)
実習課題1のプログラムを改良しなさい。
- 記憶クラスに「Vector」クラスではなく「Stack」クラスを使用すること。
- 表示の際、記憶した順と逆順で表示する事。表示と同時にデータは削除する。