asked in 電腦與網際網路程式設計 · 1 decade ago

(JAVA)如何對map排序value

我要按照value做排序

我不想按照key

例如說我有一些資料存在HASHMAP

key value

編號 分數

001 90

002 85

003 87

004 95

我要變成

編號 分數

002 85

003 87

001 90

004 95

Update:

順到一提在JAVA專案檔當中..

如何內容共用

例如我在一個hash.java檔我宣告了一個陣列,另一個jfreechart.java我想用到hash.java裡面剛剛宣告的陣列...該怎辦

1 Answer

Rating
  • 爵士
    Lv 5
    1 decade ago
    Favorite Answer

    製作兩個 key value 相互對照 HashMap

    import java.util.*;

    class testMap

    {

    public static void main(String[] args)

    {

    int value[] ={90,85,87,95};

    String keyGrp[] = ”001,002,003,004”.split(”,”);

    HashMap mytable = new HashMap();

    HashMap targetTable = new HashMap();

    for (int key=0; key<;4; key++){

    mytable.put(keyGrp[key], new Integer(value[key]));

      targetTable.put(String.valueOf(value[key]), keyGrp[key]); //copy 到另一個 HashMap

    System.out.println( mytable.get(keyGrp[key]).toString() );

    }

    Arrays.sort(value);

    for (int key=0; key<4; key++){

    System.out.println( targetTable.get(String.valueOf(value[key])).toString()+”\t”+value[key] );

    }

    }

    }

    +”<改為半形

    2008-05-24 23:48:22 補充:

    Arrays.sort(value); 為數值陣列排序, 排序後再去 HashMap 抓取其值

    2008-05-24 23:53:59 補充:

    第二問題,因太多字,無法 po上來,請到下列看解答

    http://tw.myblog.yahoo.com/jazz-info/article?mid=9...

Still have questions? Get your answers by asking now.