LinkedListをキューとして使ってみます。
プログラムは次のように記述します。
package TestPackage;
import java.util.LinkedList;
import java.util.Queue;
public class LinkedListTest2 {
/**
* @param args
*/
public static void main(String[] args) {
Queue<String> queue = new LinkedList<String>();
//要素の追加
queue.offer("test2");
queue.offer("ttt");
queue.offer("mmm");
queue.offer("ppp");
//要素の中身を出力する
System.out.println(queue);
//先頭要素を取り出す
queue.poll();
//要素の中身を出力する
System.out.println(queue);
//要素の先頭を「参照」して変数へ代入する
String peekStr = queue.peek();
System.out.println(peekStr);
//要素の中身を出力する
System.out.println(queue);
}
}
実行結果は次のようになります。
[test2, ttt, mmm, ppp] [ttt, mmm, ppp] ttt [ttt, mmm, ppp]
注意する点は、データ構造がキューを意味している点と、pollメソッドを使って要素を取り出す時には先に挿入したものから取り出されることです。(末尾から操作するメソッドも用意されています)
また、「参照」を行っている箇所は値そのものを取り出さず、値を見ているだけの動きになっています。(一旦、変数に代入してprint文をわかりやすくしているだけです)