Java 8 - forEach 循环示例

Java 8 提供了执行浏览的附加功能和新方法。在某些情况下,这些新概念的性能更高,值得推荐。

大多数 Java 8 功能部件都集中在 lambda 表达式以及相关功能部件(如流、方法和接口)上。Java 8 中的另一个特性是 forEach.

forEach() 可以实现为比 for-each 循环更快,在 Java 8 中,接口 iterable 使用最优化的方法来遍历元素,而不是标准的遍历方法。

在本文中,你将学习如何遍历 java.util.Listjava.util.Map,带有新的循环 forEach 的 java 8.

forEach 和 java.util.Map

此代码显示了浏览 Map

Map map = new HashMap<>();
map.put(1, A”);
map.put(2, B”);
map.put(3, C”);
map.put(4, D”);
map.put(5, E”);

for (Map.Entry entry : map.entrySet()) {
System.out.println(Key: ” + entry.getKey() + value: ” + entry.getValue());
}
在 Java 8 中,您可以浏览 Map 带有 forEach 循环和 lambda.

Map map = new HashMap<>();
map.put(1, A”);
map.put(2, B”);
map.put(3, C”);
map.put(4, D”);
map.put(5, E”);

items.forEach((k,v)->System.out.println(键:” + k + 值:” + v));

items.forEach((k,v)->{
System.out.println(键:” + k + 值:” + v);
if(D”.equals(v)){
System.out.println(D”);
}
});

forEach 和 java.util.List

此代码示例显示了使用 for

List arraylist = new ArrayList<>();
arraylist.add(A”);
arraylist.add(B”);
arraylist.add(C”);
arraylist.add(D”);
arraylist.add(E”);
arraylist.add(F”);

for(String val : arraylist){
System.out.println(val);
}
在 Java 8 中,您可以浏览 List with forEach lambda 表达式或方法参考。

List arraylist = new ArrayList<>();
arraylist.add(AB”);
arraylist.add(BC”);
arraylist.add(CD”);
arraylist.add(DE”);
arraylist.add(EF”);
arraylist.add(FG”);

//lambda
arraylist.forEach(item->System.out.println(项目));

arraylist.forEach(item->{
if(D”.equals(item)){
System.out.println(item);
}
});

//方法引用
arraylist.forEach(System.out::p rintln);

//使用 stream()创建一个过滤器
//它应该显示 CD output
arraylist.stream()
.filter(s->s.contains(CD”))
.forEach(System.out::p rintln);
References:
Javadoc: Java 8 - forEach