目錄
一、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));