いくつかのデータがあり、それらをいくつかの順序で 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 を見つけることができます