import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
public class MapTest {
public static void main(String[] args) {
// 创建 Map 双列集合
HashMap<String, String> map = new HashMap<>();
// 给 Map 双列集合添加数据
map.put("crt1", "hhh");
map.put("csl", "uuu");
map.put("crt2", "lll");
// (一) : 取出 key 单列集合 对象来遍历
// 获得 Map 双列集合中的 key值单列集合
Set<String> keySet = map.keySet();
// lambda表达式遍历
keySet.forEach(new Consumer<String>() {
@Override
public void accept(String key) {
String value = map.get(key);
System.out.println(key + " = " + value);
}
});
// 迭代器循环
Iterator<String> iterator = keySet.iterator();
while (iterator.hasNext()) {
String key = iterator.next();
String value = map.get(key);
System.out.println(key + " = " + value);
}
// 增强 for 循环
for (String key : keySet) {
String value = map.get(key);
System.out.println(key + " NT " + value);
}
// (二) : 取出 Entry 键值对 对象来遍历
// 获得 Map 双列集合的 entry 键值对象
Set<Map.Entry<String, String>> entries = map.entrySet();
// lambda表达式遍历
entries.forEach(entry -> System.out.println(entry.getKey() + " " + entry.getValue()));
// 迭代器循环
Iterator<Map.Entry<String, String>> iterator = entries.iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
System.out.println(entry.getKey() + " " + entry.getValue());
}
// 增强 for 循环
for (Map.Entry<String, String> entry : entries) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
// (三) Map 双列集合自己的 Lambda 表达式遍历
map.forEach(new BiConsumer<String, String>() {
@Override
public void accept(String key, String value) {
System.out.println(key+" "+value);
}
});
// 简化
map.forEach(( key, value) -> System.out.println(key+" "+value));
}
}
Java | Map的俩种单列集合下的三种遍历方式(增强For,迭代器,Lambda表达式)
于 2022-10-24 22:37:31 首次发布