4.17(2)

发布时间 2023-04-17 17:45:39作者: 磊子记
public static void main(String[] args) {

HashMap<String, String> map = new HashMap();

map.put("name", "张三");
map.put("age", "18");
map.put("sex", "男");
map.put("name", "李四");
map.put("age", "20");

//第一种方式:先获取集合所有key,再根据key值循环获取value
//第一步:先获取集合的所有key值
Set<String> set = map.keySet();
//第二步:根据key值获取对应的value,可用foreach也可用Iterator
for (String o: set) {
System.out.println(o+":"+map.get(o));
}
//Iterator it = set.iterator();
//while (it.hasNext()) {
// System.out.println(map.get(it.next()));
//}
System.out.println("===================================");
//第二种方式:使用entrySet()方法,此方法效率较高,key和value的值都是直接从node中获取
//第一步:先获取集合的所有数据,其数据类型为Map.Entry<Map的key的类型, Map的value的类型>,并将数据存入set集合
Set<Map.Entry<String, String>> entries = map.entrySet();
//第二步:遍历set集合取出数据的node对象,并获取key和value
for (Map.Entry<String, String> node: entries) {
String key = node.getKey();
String value = node.getValue();
System.out.println(key + ":" + value);
}

}
}