Java 8 Lambda 映射foreach
原文: https://javabeginnerstutorial.com/core-java-tutorial/java-8-lambda-foreach-map/
您一定已经听说过 Java 8 中引入的 Lambda 表达式。很快,我们将介绍有关它的详细主题。 但是现在在本文中,我将展示如何使用 Lambda 表达式来迭代集合。
在 Java 8 之前
class java_5_enhancedForLoop_Map {
public static void main(String[] args) {
Map<String, String> jbtObj = new HashMap<String, String>();
jbtObj.put("Website Name","Java Beginners Tutorial");
jbtObj.put("Language", "Java");
jbtObj.put("Topic", "Collection");
for (Map.Entry<String, String> entry : jbtObj.entrySet()) {
System.out.println(entry.getKey() + " : "+ entry.getValue());
}
// Iterating over collection object using iteration even before Java 5
Iterator<Entry<String, String>> iterator = jbtObj.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, String> thisEntry = (Entry<String, String>) iterator.next();
Object key = thisEntry.getKey();
Object value = thisEntry.getValue();
System.out.println(key+" : "+value);
}
}
}
在 Java 8 之后使用 Lambda 表达式
public class java_8_forEach_Map {
public static void main(String[] args) {
Map<String, String> jbtObj = new HashMap<String, String>();
jbtObj.put("Website Name","Java Beginners Tutorial");
jbtObj.put("Language", "Java");
jbtObj.put("Topic", "Collection");
jbtObj.forEach((key,value) -> System.out.println(key+" :"+value));
}
}
如您所见,通过单行代码,我们可以遍历Map
。 同样,我们可以使用 Lambda 中引入的过滤器过滤出结果。