利用 Map.keySet()遍歷HashMap
package com;
import java.util.HashMap;
import java.util.Map;
/**
* @author imenger
* @date 2020/6/30 3:34 下午
*/
public class TestMap {
public static void main(String[] args) {
Map<String, Integer> userMap = inputMap();
showMap1(userMap);
}
/**
* 利用 Map.keySet()遍歷HashMap
*
* @param userMap
* @return void
* @author imenger
* @date 2020/7/1 10:29 上午
*/
public static void showMap1(Map<String, Integer> userMap) {
System.out.println("利用 keySet 進行遍歷");
for (String s : userMap.keySet()) {
System.out.println(s + "***" + userMap.get(s));
}
}
public static Map<String, Integer> inputMap() {
Map<String, Integer> userMap = new HashMap<String, Integer>(5);
userMap.put("zhang1", new Integer(1));
userMap.put("zhang2", new Integer(2));
userMap.put("zhang3", new Integer(3));
userMap.put("zhang4", new Integer(4));
userMap.put("zhang5", new Integer(5));
return userMap;
}
}
輸出結果:
利用 keySet 進行遍歷
zhang2***2
zhang3***3
zhang1***1
zhang4***4
zhang5***5
利用 Map.values()遍歷HashMap
此方法只能 遍歷 value,獲取不到 key。
import java.util.HashMap;
import java.util.Map;
/**
* @author imenger
* @date 2020/6/30 3:34 下午
*/
public class TestMap {
public static void main(String[] args) {
Map<String, Integer> userMap = inputMap();
showMap2(userMap);
}
/**
* 利用 Map.values()遍歷HashMap
*
* @param userMap
* @return void
* @author imenger
* @date 2020/7/1 10:29 上午
*/
public static void showMap2(Map<String, Integer> userMap) {
System.out.println("利用 values 進行遍歷");
// 只能獲取 value值,如果需要獲取 k,v 就用第一種。
for (Integer v : userMap.values()) {
System.out.println(v);
}
}
public static Map<String, Integer> inputMap() {
Map<String, Integer> userMap = new HashMap<String, Integer>(5);
userMap.put("zhang1", new Integer(1));
userMap.put("zhang2", new Integer(2));
userMap.put("zhang3", new Integer(3));
userMap.put("zhang4", new Integer(4));
userMap.put("zhang5", new Integer(5));
return userMap;
}
}
輸出結果:
利用 values 進行遍歷
2
3
1
4
5
利用entrySet遍歷HashMap
如果同時獲取 k 和 v 優先採用這種方式
import java.util.HashMap;
import java.util.Map;
/**
* @author imenger
* @date 2020/6/30 3:34 下午
*/
public class TestMap {
public static void main(String[] args) {
Map<String, Integer> userMap = inputMap();
showMap3(userMap);
}
/**
* 利用 entrySet 遍歷HashMap
*
* @param userMap
* @return void
* @author imenger
* @date 2020/7/1 10:29 上午
*/
public static void showMap3(Map<String, Integer> userMap) {
System.out.println("利用 entrySet 進行遍歷");
// 獲取鍵值映射,
// 通過這種方法可以直接把該節點的 k和 v 一起獲取出來,與 map1 區別爲不需要知道 k 再次獲取
for (Map.Entry<String, Integer> entry : userMap.entrySet()) {
System.out.println(entry.getKey() + "===" + entry.getValue());
}
}
public static Map<String, Integer> inputMap() {
Map<String, Integer> userMap = new HashMap<String, Integer>(5);
userMap.put("zhang1", new Integer(1));
userMap.put("zhang2", new Integer(2));
userMap.put("zhang3", new Integer(3));
userMap.put("zhang4", new Integer(4));
userMap.put("zhang5", new Integer(5));
return userMap;
}
}
輸出結果:
利用 entrySet 進行遍歷
zhang2===2
zhang3===3
zhang1===1
zhang4===4
zhang5===5