目录
一、Map数据
public static void main(String[] args) {
HashMap<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 20);
map.put("sex", "男");
map.put("phone", "13800000000");
map.put("account", "123456789");
}
二、第一种:使用 map.entrySet()
进行循环
2.1、代码
// 方法一:在日常开发中使用比较多的,一般在键值对都需要使用
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
String s = "key====>" + key+ ", value===>" + value;
System.out.println(s);
}
2.2、运行结果
三、第二种:通过迭代器方式循环
3.1、代码
// 方法二:在开发中很少人使用这个的,毕竟可读性相对比较差
Iterator<Map.Entry<String, Object>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Object> entry = iterator.next();
String s = "key====>" + entry.getKey() + ",value===>" + entry.getValue();
System.out.println(s);
}
3.2、运行结果
四、第三种:在for循环中遍历key或者values
一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好。
4.1、代码
// 在for循环中遍历key
for(String key : map.keySet()){
System.out.println(key);
}
System.out.println("----------");
// 在for循环中遍历value
for(Object value : map.values()){
System.out.println(value);
}
4.2、结果
五、第四种:通过键找值遍历
这种方式的效率比较低,因为本身从键取值是耗时的操作;
5.1、代码
// 第四种:通过键找值遍历
for (String key : map.keySet()) {
Object value = map.get(key);
System.out.println(key + ":" + value);
}
5.2、结果
六、第五种:使用Java8特性
6.1、代码
// 第五种:使用Java8特性
map.forEach((key, value) -> System.out.println("key====>" + key + ",value===>" + value));