11

私はそのような地図を持っています:

Map<Integer, MyEntry> map = new HashMap<Integer, MyEntry>();

MyEntry は次のとおりです。

public class MyEntry {
    private String title;
    private String value;

    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
}

map に値を入れた後、並べ替えたいと思います。最初の要素が最小になり、最後の要素が最大になります。

4

3 に答える 3

18

キーでソートするには、 a を使用できますSortedMap- 1 つの一般的な実装はTreeMap. 整数には自然な並べ替え順序があるため、整数に入れるだけで特別なことをする必要はありません。TreeMap

値で並べ替えたい場合は、この質問で説明されているテクニックがいくつかあります。Sort a Map<Key, Value> by values (Java)

于 2013-08-25T17:15:58.370 に答える
9

並べ替えたい場合は、2 種類のLinkedHashMapを使用するか、最もよく使用されるのはTreeaMapです。

Map<Integer, MyEntry> map = new LinkedHashMap<Integer, MyEntry>();

また

Map<Integer, MyEntry> map = new TreeMap<Integer, MyEntry>();

小さなサンプルを追加するには、次のコードを使用できます。

Map<Integer, String> map = new TreeMap<Integer, String>();
map.put(1, "one");
map.put(3, "three");
map.put(2, "two"); 
// prints one two three   
for(Integer key : map.keySet()) {
   System.out.println(map.get(key);
}

いくつかの便利な:

TreeMap を使用した並べ替えの例

別の有用な並べ替えの例

乾杯、

于 2013-08-25T17:18:20.787 に答える
3

をソートした後の順序を保証するHashMapものではありませんmap。でマップを並べ替える場合は、 TreeMapkeysを使用します。

これは役立つかもしれません: Integer に従って HashMap<String,Integer> を並べ替える

于 2013-08-25T17:17:45.493 に答える