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 5Iterator<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 中引入的过滤器过滤出结果。
