0

いくつかのデータがあり、それらをいくつかの順序で Hashtable に追加しました。今やりたいことは、入力したのと同じ順序でデータを取得することです

使用できるデータ型は何ですか?

4

3 に答える 3

2

キーが文字列であると仮定すると、それに順序を追加して、並べ替えられたデータの 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にあります。

于 2012-05-02T19:38:03.370 に答える
2

AHashtableは順序を保持しません。
広告掲載オーダーへのアクセスが必要な場合は、Linked Hash Mapが提供されているかどうかを確認してくださいJavaME

于 2012-04-30T13:07:23.113 に答える
0

Java SE のソース コードをダウンロードし、ジェネリックを削除することで J2ME で LinkedHashMap を簡単に機能させることができます (ただし、親クラスとインターフェイスでこれを実行する必要がある場合もあります)。ここで Java ME の LinkedHashMap を見つけることができます

于 2012-05-01T13:31:26.403 に答える