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()); } } }