Start living with new my life

自分が思ったことを書き留めてます。

Java コレクション編1

□アウトプット用


・コレクションで良く使うのはArrayList LinkedList Set Mapなど

■ArrayList
ArrayListで中身を取り出すには「for文・拡張for文・イテレータ」で取り出せる。
・リストの途中で要素を挿入、削除するのは苦手

イテレータ
イテレータとはリストに含まれている箱をココ!と指している矢印のようなものとイメージする。
イテレータインスタンスを作成したときは矢印が箱の前を指した状態になる。

■LinkedList
・ArrayListと同じ動作をするリスト
・しかし、クラス内部のつくりが違い、リストの途中で要素を挿入、削除するのは得意
・要素の取り出しが苦手、先頭から数を数えながらたどる必要がある。
・リストの箱がバラバラにあって、リンクしているような感じ

■List
・ArrayListもLinkedlistもList
・両方ともListインターフェースを実装している
・コレクションのインスタンスを格納する変数や引数、戻り値の型は極力あいまいな型を用いること。
・例:

List<String> list1 = new ArrayList<String>();
List<Hero> list2 = new LinkedList<Hero>();

※引数・戻り値・ローカル変数には、極力あいまいな型(インターフェース型)を利用できないかを検討し、積極的に利用する。