24‐1
Collection
____|____
| |
A B
|
C
(1) 上記図はコレクションインターフェースの継承関係の図です。AからCに当てはまるコレクションインターフェースを答えなさい。
(2) 上記Aのインターフェースを実装する代表的なクラスを2つ答えなさい。
(3) 上記Bのインターフェースを実装する代表的なクラスを答えなさい。
(4) 上記Cのインターフェースを実装する代表的なクラスを答えなさい。
(5) 上記Aのインターフェースは追加した要素をどのような順番で管理しますか?
(6) 上記Bのインターフェースは追加した要素をどのような順番で管理しますか?
(7) 上記Cのインターフェースは追加した要素をどのような順番で管理しますか?
24‐2
次のような処理を行うExer24_02というクラスを作成・コンパイル・実行しなさい。
・LinkedList型の変数を宣言し、それにLinkedListのインスタンスを生成して代入する。
・14‐2で作成したBook02のインスタンスを3個生成し、上記のLinkedListに追加する。タイトルは適当でよい。
・LinkedListが管理している全てのBook02のインスタンスに対して、printTitle()を呼び出す。その際、追加された順番で処理されるように、LinkedListのget()メソッドを使用しなさい。
24‐3
Exer24_02をget()メソッドではなくIteratorを使用するように変更し、Exer24_03というクラスを作成・コンパイル・実行しなさい。
24‐4
Exer24_02を追加した順序とは逆順で処理するように変更し、Exer24_04というクラスを作成・コンパイル・実行しなさい。
get()を使用する方法のままでよい。
24‐5
Exer24_03を追加した順序とは逆順で処理するように変更し、Exer24_05というクラスを作成・コンパイル・実行しなさい。
ヒント:Iteratorではなく、ListIteratorを使用する。
24‐6
コマンドライン引数で指定した文字列を辞書順で並び替えて、改行して出力するようなExer24_06というクラスを作成・コンパイル・実行しなさい。
24‐7
1から順に増加する数を2乗した数で200以下の集合を考えます。
すなわち、1, 4, 9, 16, 25, ...で200以下の数の集合です。
それを逆順で出力するクラスを次のような手順で作成し、コンパイル・実行しなさい。
・LinkedList型の変数を宣言し、それにLinkedListのインスタンスを生成して代入する。
・forループを利用し、1の2乗から順に200以下の範囲で、その数をLinkedListに追加していく。ただし、int型のデータを直接LinkedListでは扱えないので、何か工夫しなさい。
・LinkedListに追加された数を逆順で出力する。get()を使用してよい。