' P '

whatever I will forget

Java arraylistとlinkedlist

Linkedlistなるものもjavaにはあるようです

用途

  • ArrayList ... データアクセスに向いている(データの格納に向いている)
  • LinkedList ... データ操作に向いている(大規模なデータとかだとこちらを使用)

LinkedListの使い方

import java.util.LinkedList; を行い使用できるようにする。
LinkedList <string> list = new LinkedList <string>(); でリストを生成
データ操作はlist.add("aaa")list.remove("aaa");で行う

iterator

LinkedListにはIteratorが標準メソッドとして備わっている。
別にfor文でやってもいいんだろうけど、Iteratorのほうがちょっとデキる感があるのは私だけでしょうか?
下記コードはIteratorでString型のiオブジェクトを取り出しているようなイメージ?
hasNext()で次のデータがあるか確認し、next()で現在のデータを取り出しつつ、次のデータ位置に移動させている。

import java.util.LinkedList;
import java.util.Iterator;

public class main {
    public static void main(String[] args) {
        LinkedList<String> thePlaces = new LinkedList<String>();
        thePlaces.add(manman);
        thePlaces.add(chinman);
        thePlaces.add(unkoman);
        thePlaces.add(peroman);
        thePlaces.add(oppaiman);

        printList(thePlaces);
    }

    public static void printList(LinkedList<String> list) {
        Iterator<String> i = LinkedList.Iterator();
        while(i.hasNext()) {
            System.out.println("The place: " + i.next());
        }
    }
}