
you are here
309
8
章
Template Method
パターン
AbstractList
を使った独自のリスト
Template Method
探検の最後の訪問地は、
AbstractList
です。
ArrayList
や
LinkedList
などの
Java
リストコレクションは、
AbstractList
を拡張しています。
AbstractList
は、リストの振る
舞いの基本的な実装を用意します。独自のリスト(例えば、
String
だけを含むリスト)を作成したいのなら、
AbstractList
を
拡張して基本的なリストの振る舞いを取得すればよいのです。
AbstractList
には、テンプレートメソッド
subList()
がありま
す。
subList()
は、
2
つの抽象メソッド
get()
と
size()
に依存してい
ます。そのため、
AbstractList
を拡張して独自の独自のリストを
作成するときには、この
2
つのメソッドの実装を用意します。
これは
String
オブジェクトだけを含み、基盤となる実装に配
列を使う独自のリストの実装です。
AbstractList
を拡張して独自のリ
ストを作成します。
subList()
get(int)
size()
iterator()
hashCode()
//
他 の メ ソ ッド
AbstractList
get(int)
size()
MyList
get(3);
size();
public class MyStringList extends AbstractList<String> ...