/*
java.util.AbstractCollection クラスは,「要素の集合」に対する操作を規定す
るjava.util.Collection インタフェースを実装する抽象クラスで,そのAPI の一部を具象メ
ソッド(呼び出して実行できるメソッド)としてオーバーライドしている。
例えば,このクラスのAPI のうち,以下の2つはCollection インタフェース由来の抽象
メソッドである。
abstract Iterator<E> iterator() このコレクション内の要素に関する反復子(java.util.Iterator クラス
のオブジェクト)を返す。
abstract int size() このコレクション内の要素の数を返す。
これら抽象メソッドを呼びだすようなテンプレートメソッドで,Collection インタフェ
ースの他の抽象メソッドをオーバーライドしているのである。
では,AbstractCollection クラスのAPI のうち,上記の抽象メソッド(iterator,size)
を使って実装できる以下の2つのテンプレートメソッドについて,実行部分のコードを考
えてみよう。
boolean contains(Object o) コレクション内に引数で指定された要素がある場合に true を返す。
Object[ ] toArray() このコレクションの要素が全て格納されている配列を返す。
abstract class AbstractCollection implements Collection {
// 以下のメソッド定義の【ア】【イ】に,iterator およびsize のメソッド呼び出しを
// 含むコードを書いてください。
*/
public boolean contains
(Object o
) { boolean flag = false;
【ア】
return flag;
}
【イ】
return result;
}
// 他のAPI の定義については省略
}
LyoKamF2YS51dGlsLkFic3RyYWN0Q29sbGVjdGlvbiDjgq/jg6njgrnjga/vvIzjgIzopoHntKDjga7pm4blkIjjgI3jgavlr77jgZnjgovmk43kvZzjgpLopo/lrprjgZkK44KLamF2YS51dGlsLkNvbGxlY3Rpb24g44Kk44Oz44K/44OV44Kn44O844K544KS5a6f6KOF44GZ44KL5oq96LGh44Kv44Op44K544Gn77yM44Gd44GuQVBJIOOBruS4gOmDqOOCkuWFt+ixoeODoQrjgr3jg4Pjg4nvvIjlkbzjgbPlh7rjgZfjgablrp/ooYzjgafjgY3jgovjg6Hjgr3jg4Pjg4nvvInjgajjgZfjgabjgqrjg7zjg5Djg7zjg6njgqTjg4njgZfjgabjgYTjgovjgIIK5L6L44GI44Gw77yM44GT44Gu44Kv44Op44K544GuQVBJIOOBruOBhuOBoe+8jOS7peS4i+OBru+8kuOBpOOBr0NvbGxlY3Rpb24g44Kk44Oz44K/44OV44Kn44O844K555Sx5p2l44Gu5oq96LGhCuODoeOCveODg+ODieOBp+OBguOCi+OAggphYnN0cmFjdCBJdGVyYXRvcjxFPiBpdGVyYXRvcigpIOOBk+OBruOCs+ODrOOCr+OCt+ODp+ODs+WGheOBruimgee0oOOBq+mWouOBmeOCi+WPjeW+qeWtkO+8iGphdmEudXRpbC5JdGVyYXRvciDjgq/jg6njgrkK44Gu44Kq44OW44K444Kn44Kv44OI77yJ44KS6L+U44GZ44CCCmFic3RyYWN0IGludCBzaXplKCkg44GT44Gu44Kz44Os44Kv44K344On44Oz5YaF44Gu6KaB57Sg44Gu5pWw44KS6L+U44GZ44CCCuOBk+OCjOOCieaKveixoeODoeOCveODg+ODieOCkuWRvOOBs+OBoOOBmeOCiOOBhuOBquODhuODs+ODl+ODrOODvOODiOODoeOCveODg+ODieOBp++8jENvbGxlY3Rpb24g44Kk44Oz44K/44OV44KnCuODvOOCueOBruS7luOBruaKveixoeODoeOCveODg+ODieOCkuOCquODvOODkOODvOODqeOCpOODieOBl+OBpuOBhOOCi+OBruOBp+OBguOCi+OAggrjgafjga/vvIxBYnN0cmFjdENvbGxlY3Rpb24g44Kv44Op44K544GuQVBJIOOBruOBhuOBoe+8jOS4iuiomOOBruaKveixoeODoeOCveODg+ODie+8iGl0ZXJhdG9y77yMc2l6Ze+8iQrjgpLkvb/jgaPjgablrp/oo4XjgafjgY3jgovku6XkuIvjga7vvJLjgaTjga7jg4bjg7Pjg5fjg6zjg7zjg4jjg6Hjgr3jg4Pjg4njgavjgaTjgYTjgabvvIzlrp/ooYzpg6jliIbjga7jgrPjg7zjg4njgpLogIMK44GI44Gm44G/44KI44GG44CCCmJvb2xlYW4gY29udGFpbnMoT2JqZWN0IG8pIOOCs+ODrOOCr+OCt+ODp+ODs+WGheOBq+W8leaVsOOBp+aMh+WumuOBleOCjOOBn+imgee0oOOBjOOBguOCi+WgtOWQiOOBqyB0cnVlIOOCkui/lOOBmeOAggpPYmplY3RbIF0gdG9BcnJheSgpIOOBk+OBruOCs+ODrOOCr+OCt+ODp+ODs+OBruimgee0oOOBjOWFqOOBpuagvOe0jeOBleOCjOOBpuOBhOOCi+mFjeWIl+OCkui/lOOBmeOAggphYnN0cmFjdCBjbGFzcyBBYnN0cmFjdENvbGxlY3Rpb24gaW1wbGVtZW50cyBDb2xsZWN0aW9uIHsKLy8g5Lul5LiL44Gu44Oh44K944OD44OJ5a6a576p44Gu44CQ44Ki44CR44CQ44Kk44CR44Gr77yMaXRlcmF0b3Ig44GK44KI44Gzc2l6ZSDjga7jg6Hjgr3jg4Pjg4nlkbzjgbPlh7rjgZfjgpIKLy8g5ZCr44KA44Kz44O844OJ44KS5pu444GE44Gm44GP44Gg44GV44GE44CCCiovCnB1YmxpYyBib29sZWFuIGNvbnRhaW5zKE9iamVjdCBvKSB7CmJvb2xlYW4gZmxhZyA9IGZhbHNlOwrjgJDjgqLjgJEKcmV0dXJuIGZsYWc7Cn0KcHVibGljIE9iamVjdFsgXSB0b0FycmF5KCkgewpPYmplY3RbIF0gcmVzdWx0ID0gbnVsbDsK44CQ44Kk44CRCnJldHVybiByZXN1bHQ7Cn0KLy8g5LuW44GuQVBJIOOBruWumue+qeOBq+OBpOOBhOOBpuOBr+ecgeeVpQp9
Main.java:21: class, interface, or enum expected
public boolean contains(Object o) {
^
Main.java:23: illegal character: \12304
???
^
Main.java:23: illegal character: \12305
???
^
Main.java:25: class, interface, or enum expected
}
^
Main.java:26: class, interface, or enum expected
public Object[ ] toArray() {
^
Main.java:28: illegal character: \12304
???
^
Main.java:28: illegal character: \12305
???
^
Main.java:30: class, interface, or enum expected
}
^
8 errors