From: Yoshiyuki Uehara Date: 2007-08-23T11:44:13+09:00 Subject: [ruby-list:43924] Re: Hashへの生成順は保障されないのか? 植原といいます。 # いまさらですが… > ついでに言うとJavaでは > ・順序を保存しないHash > ・順序を保存する機能付きHash > は別々の物として実装するでしょうね.Hashはあくまでハッシュ表. > ハッシュ表と異なる物には異なる名前の異なるクラスを用意すると思います. > http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/SortedMap.html Java ではインターフェースとして Map: キー、値のペアを保持する SortedMap: キーがソートされた Map の2つがありますが、実装には下記の3つがあります。 HashMap: Mapの実装。キーの順序を保証しない。 TreeMap: SortedMapの実装。キーがソートされている。 LinkedHashMap: Mapの実装(HashMapのサブクラス)。 予測可能な繰り返し順序(キーの追加順)を持つ。 http://www.hellohiro.com/map.htm http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/LinkedHashMap.html 個人的には Java の開発で LinkedHashMap を使用することは結構あります。 # テストケースの expected 記述や、Web アプリで select の元データなど。