首先,创建一个双列集合
Map<String, String> m = new HashMap<>();
m.put("祖母", "祖父");
m.put("奶奶", "爷爷");
m.put("妈妈", "爸爸");
1.获取双列集合中所有的键,把这些键放到一个单列集合,再利用键找值,再输出
Set<String> keys = m.keySet();
把所有的键放到一个set单列集合中
遍历时有三种方法:1,获取iterator。2,增强for。3,lambda表达表达式
如下
Iterator s = keys.iterator();
while (s.hasNext()) {
Object next = s.next();
String s1 = m.get(next);
System.out.println(next + " " + s1);
}
for (String key : keys) {
String value = m.get(key);
System.out.println(key + " " + value);
}
keys.forEach((String key) ->{
String value = m.get(key);
System.out.println(key+" "+value);
} );
2.利用双列集合中的Entryset方法得到每一个键值对
Set<Map.Entry<String, String>> entries = m.entrySet();
for (Map.Entry<String, String> entry : entries) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+" "+value);
}
Iterator<Map.Entry<String, String>> iterator = entries.iterator();
while(iterator.hasNext()){
Map.Entry<String, String> next = iterator.next();
String key = next.getKey();
String value = next.getValue();
System.out.println(key+" "+value);
}
entries.forEach(new Consumer<Map.Entry<String, String>>() {
@Override
public void accept(Map.Entry<String, String> stringStringEntry) {
String key = stringStringEntry.getKey();
String value = stringStringEntry.getValue();
System.out.println(key+" "+value);
}
});
3,lambda表达式直接遍历,也是最简便的方法
m.forEach((s, s2)-> System.out.println(s+" "+s2));