独習Java第10章 Javaクラスライブラリの初歩(10.5)

Stackクラスの扱い方。でも継承元がVectorじゃないか……
ArrayListから派生したスタックっぽいクラスがあったりしないのかなあ?とかいろいろ思いつつStackクラスを扱ってみるのです。
環境:MacOS 10.6.5 / Oracle(Sun) JDK6 update22

書いてみる

// StackTest.java
import java.util.*;

class StackTest
{
  public static void main(String args[])
  {
    Stack<String> s = new Stack<String>();

    s.push("a");
    s.push("b");
    s.push("c");
    s.push("d");
    s.push("e");

    for (int i = 0; i < 3; i++)
    {
      System.out.println(s.peek());
    }

    while (!s.empty())
    {
      System.out.println(s.pop());
    }

    System.out.println("end");
  }
}

ごく普通に。

実行してみる

$ javac StackTest.java
$ java StackTest
e
e
e
end peek
e
d
c
b
a
end pop

うーん、あんまり感動がないなあ。


10.6のHashTableや10.7のStringTokenizerはもう推奨されないらしいのでスルー。なんなのこの本。
初版が1999年でそれから改訂されてるとはいえ、その頃のを引きずってるのかな……


第11章もファイル操作関連だけど、Apache Commons使えばいいんじゃ、と思ってるのでスルー。
次回は第12章からかなあ…… 12章もApache Commonsでどうにか出来そうな内容だけど一応。
12章で最後にしてEffective Java読み始めようかな。