いくつかのデータがあり、それらをいくつかの順序で Hashtable に追加しました。今やりたいことは、入力したのと同じ順序でデータを取得することです
使用できるデータ型は何ですか?
キーが文字列であると仮定すると、それに順序を追加して、並べ替えられたデータの getter メソッドを持つことができます。以下の例を参照してください。
静的 int オーダー。
ハッシュテーブル マップ = new Hashtable();
void put (文字列キー、オブジェクト値) {
map.put(注文 + キー、値);
注文++;
}
列挙 getSorted() {
列挙キー = map.keys();
ベクトル sortedKeys = new Vector();
while (keys.hasMoreElements()) {
文字列キー = (文字列) keys.nextElement();
挿入ソート(キー、ソートされたキー);
}
ベクトル sortedData = new Vector();
キー = sortedKeys.elements();
while (keys.hasMoreElements()) {
文字列キー = (文字列) keys.nextElement();
sortedData.addElement(map.get(key));
}
sortedData.elements(); を返します。
}
insertSort アルゴリズムはhttp://en.wikipedia.org/wiki/Insertion_sortにあります。
AHashtableは順序を保持しません。
広告掲載オーダーへのアクセスが必要な場合は、Linked Hash Mapが提供されているかどうかを確認してくださいJavaME
Java SE のソース コードをダウンロードし、ジェネリックを削除することで J2ME で LinkedHashMap を簡単に機能させることができます (ただし、親クラスとインターフェイスでこれを実行する必要がある場合もあります)。ここで Java ME の LinkedHashMap を見つけることができます