Java HashMap 遍歷、刪除、排序

首先建立一個map對象,並依次放入幾個測試數據函數

        HashMap<String, Integer> map = new HashMap<String, Integer>(); map.put("One", 1); map.put("Two", 2); map.put("Three", 3);

 

1.遍歷測試

①方法一spa

        for (HashMap.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer val = entry.getValue(); }

②方法二code

        for (Iterator<HashMap.Entry<String, Integer>> it = map.entrySet().iterator(); it.hasNext();) { HashMap.Entry<String, Integer> entry = it.next(); String key = entry.getKey(); Integer val = entry.getValue(); }

 

2.刪除對象

        for (Iterator<HashMap.Entry<String, Integer>> it = map.entrySet().iterator(); it.hasNext(); ) { HashMap.Entry<String, Integer> entry = it.next(); //刪除key值爲Two的數據
            if (entry.getKey().equals("Two")) { it.remove(); } }

 

3.排序blog

        //建立一個用於對yourMap進行排序的list
        List<HashMap.Entry<String, Integer>> list = new ArrayList(yourMap.entrySet()); //提供一個匿名的比較函數對象(從大到小進行輸出)
        Collections.sort(list, new Comparator<HashMap.Entry<String, Integer>>() { public int compare(HashMap.Entry<String, Integer> o1, HashMap.Entry<String, Integer> o2) { return o2.getValue() - o1.getValue(); //這裏是從大到小進行排序,若是需從小到大進行排序則將o1和o2互換便可
 } }); //按排序輸出list中的內容
        for (HashMap.Entry<String, Integer> entry : list) { String key = entry.getKey(); Integer val = entry.getValue(); }

 

以上。排序

相關文章
相關標籤/搜索