简化前的完整循环代码
首先,我们使用传统的for-each
循环遍历HashMap
:
import java.util.HashMap;
import java.util.Map;
public class ForEachExample {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
// 传统的 for-each 循环遍历 HashMap
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
}
}
步骤1: 使用 Lambda 表达式和 forEach
方法
使用forEach
方法和Lambda表达式来替代传统的for-each
循环:
import java.util.HashMap;
import java.util.Map;
public class ForEachExample {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
// 使用 forEach 方法遍历 HashMap
map.forEach((key, value) -> {
System.out.println("Key: " + key + ", Value: " + value);
});
}
}
步骤2: 简化 Lambda 表达式
如果Lambda表达式的主体只有一行代码,可以去掉大括号和分号:
import java.util.HashMap;
import java.util.Map;
public class ForEachExample {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
// 简化后的 forEach 方法遍历 HashMap
map.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
}
}
步骤3: 使用方法引用(可选)
在某些场景下,可以使用方法引用进一步简化代码。如果我们只是简单地打印键和值,可以定义一个方法来执行打印操作,然后使用方法引用:
import java.util.HashMap;
import java.util.Map;
public class ForEachExample {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
// 使用方法引用进一步简化 forEach
map.forEach(ForEachExample::printEntry);
}
private static void printEntry(String key, Integer value) {
System.out.println("Key: " + key + ", Value: " + value);
}
}
总结
通过这些步骤,我们将传统的for-each
循环代码逐步简化为使用forEach
方法和Lambda表达式,甚至方法引用的代码。简化后的代码更加简洁,易于阅读和维护。
-
传统的
for-each
循环:for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); System.out.println("Key: " + key + ", Value: " + value); }
-
使用Lambda表达式和
forEach
方法:map.forEach((key, value) -> { System.out.println("Key: " + key + ", Value: " + value); });
-
简化Lambda表达式:
map.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
-
使用方法引用:
map.forEach(ForEachExample::printEntry);
每一步的简化使代码更为简洁和易读。
标签:map,HashMap,代码,value,简化,forEach,key,put From: https://www.cnblogs.com/zxingduo/p/18190608