public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("first", "第一");
map.put("second", "第二");
map.put("third", "第三");
// map遍历的第一种方法
//说明:根据阿里开发手册,不建议使用这种方式,因为迭代两次。
//keySet获取Iterator 一次,还有通过get又迭代一次。降低性能。
for (String str : map.keySet()) {
System.out.println("key = " + str + " value = " + map.get(str));
}
// map遍历的第二种方法
for (String str : map.values()) {
System.out.println("value = " + str);
}
// map遍历的第三种方法
Set<Entry<String, String>> entrySet = map.entrySet();
for (Entry<String, String> entry : entrySet) {
System.out.println("key = " + entry.getKey() + " value = " + entry.getValue());
}
// map遍历的第四种方法
Iterator<Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, String> next = iterator.next();
System.out.println("key = " + next.getKey() + " value = " + next.getValue());
}
//map遍历的第五种方法
//jdk8以后使用Map接口中的默认方法:
map.forEach((key,value)->{
System.out.println(key+"---"+value);
});
}
}
说明:第五种遍历Map的方法
default void forEach(BiConsumer<? super K,? super V> action)
//BiConsumer接口中的方法:
void accept(T t, U u) 对给定的参数执行此操作。
参数
t - 第一个输入参数
u - 第二个输入参数