Java HashMap

HashMap<String, String> map = new HashMap<String, String>();
map.put("1", "2");
System.out.println(map.get("1"));

 常用函数:

containsKey(key)

put(key, value)

remove(key)

clear()

containsValue(value)

keySet()  // returns the set of keys

values()  // 和keySet是不对称的

entrySet() // create set view of the map

size() // size of the HashMap

 

更新value:

HashMap<Character, Integer> map = new HashMap<Character, Integer>();

map.put('a',1);
map.put('a',2);  // 直接put就可以了, put函数会自己先调用containsKey函数的

map.put('a', map.get('a')+1);  //在原来值上修改

 

遍历HashMap:

如果仅需要键(keys)或值(values)使用方法二。如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。否则使用方法一(键值都要)。

// 方法一,key 和 value 都要遍历:
Map<Integer, Integer> map = new HashMap<Integer, Integer>();

for (Map.Entry<Integer, Integer> entry : map.entrySet()) {

    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

}

// 方法二, 单独遍历key或value:
Map<Integer, Integer> map = new HashMap<Integer, Integer>();

//遍历map中的键

for (Integer key : map.keySet()) {

    System.out.println("Key = " + key);

}

//遍历map中的值

for (Integer value : map.values()) {

    System.out.println("Value = " + value);

}

// 方法三, iterator
Map<Integer, Integer> map = new HashMap<Integer, Integer>();

Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();

while (entries.hasNext()) {

    Map.Entry<Integer, Integer> entry = entries.next();

    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

}

 

           // create hash map
           HashMap newmap = new HashMap();
              
           // populate hash map
           newmap.put(1, "tutorials");
           newmap.put(2, "point");
           newmap.put(3, "is best");
              
           // create set view for the map
           Set set=newmap.entrySet();
              
           // check set values
           System.out.println("Set values: " + set);

 

posted @ 2016-01-23 03:51  飞飞喵  阅读(231)  评论(0)    收藏  举报