一、按键找值
第一种遍历方式是把键放到了Set集合中,遍历Set集合的同时,通过调用方法来根据键获取值
1.创建集合
Map<String,String> m = new HashMap<>();
2.添加键值对
m.put("1","1");
m.put("2","2");
m.put("3","3");
3.把键放入单列集合Set中
Set<String> s = m.keySet();
4.在增强for循环内通过每一个键找到对应的值(调用m.get()方法),并打印
for (String s1 : s) {
System.out.println("键:"+s1+"对应的值为:"+m.get(s1));
}
5.打印结果
键:1对应的值为:1
键:2对应的值为:2
键:3对应的值为:3
二、直接遍历键值对对象
第二种遍历方式是直接把键值对放到了Set集合中,直接对Set集合进行遍历,直接得到键值对
public class Test2 {
public static void main(String[] args) {
Map<String,String> m = new HashMap<>();
m.put("1","1");
m.put("2","2");
m.put("3","3");
Set<Map.Entry<String, String>> entries = m.entrySet();
for (Map.Entry<String, String> entry : entries) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
}
三、结合Lambda表达式进行遍历
public class Test3 {
public static void main(String[] args) {
Map<String,String> m = new HashMap<>();
m.put("1","1");
m.put("2","2");
m.put("3","3");
m.forEach(new BiConsumer<String, String>() {
@Override
public void accept(String key, String value) {
System.out.println(key);
System.out.println(value);
}
});
}
}
简化之后
public class Test3 {
public static void main(String[] args) {
Map<String,String> m = new HashMap<>();
m.put("1","1");
m.put("2","2");
m.put("3","3");
m.forEach((key, value) ->{
System.out.println(key);
System.out.println(value);
}
);
}
}