初コミット〜

Doltengに初コミット入れてみました。従来、新規Pageクラスを作成する時、フィールドの定義順は名前の昇順ソートでした。それを、HTML上のID出現順に変更しました。以上を、デグレっていませんように、と祈るような気持ちでコミットw

以下、久々に技術ネタ。


Map型のコレクションは、基本的に順序を管理しない仕様になっています。取り出してもどの順番に出てくるか分からないという前提で使用しなければなりません。

順序を管理したい場合、は一般的にSortedMapを使用しますね。これはキーの昇順でソートされている事が保証されます。ただ、今回のケースは「ソートしたい」のではなく「putした順番を保持したい」ので、SortedMapは用途が異なります。

そこでちょっと調べた所、Apache Commons collectionsorg.apache.commons.collections.map.ListOrderedMapというものがありました。用途バッチリですね。

というわけで、こちらを使用して実装してみました。

ただ、ListOrderedMapはジェネリクス非対応。警告が出るけどまぁ仕方ないか。

追記

今ふと思い出した。LinkedHashMapって…、それ系じゃなかったっけ。じゃぁListOrderedMapの存在意義は…? ん??