利用 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