老实说,不光java , 其他各种编程语言 for 循环算是在基础不过的功能了。不过今天我们还是要来分析java8 之后 的for 循环发生了哪些变化。
你需要 for循环做什么?
- 遍历集合或者数组
- 运算
Integer max = 10000;
for (int i = 0; i < max; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}
先来个最简单的,输出偶数。但是实际项目中,很少遇到这种场景,大多数情况下 我们使用for循环遍历集合。下面让我们来看一些例子:
首先让我们定义一个集合:
List<String> zoos = new ArrayList<>();
zoos.add("tiger");
zoos.add("rabbit");
zoos.add("cat");
zoos.add("horse");
zoos.add("monkey");
zoos.add("panda");
zoos.add("bird");
zoos.add("lion");
1、最古老的迭代方式
for (Iterator<String> iterator = zoos.iterator(); iterator.hasNext();) {
System.out.println(iterator.next());
}
2、经典的for循环
for (int i = 0; i < zoos.size(); i++) {
System.out.println(zoos.get(i));
}
3、java5 之后我们可以这么处理
for (String zoo : zoos) {
System.out.println(zoo);
}
4、java8以后 我们可以使用foreach来简化
zoos.forEach(zoo -> System.out.println(zoo));
可以进一步简化:
zoos.forEach(System.out::println);
如果你想对集合中的元素进行过滤怎么操作呢?那就要用到 java8 的Stream
zoos.stream().filter(zoo -> zoo.startsWith("li")).forEach(System.out::println);
这里只是记录下 循环的方式随着JDK 版本升级的一个推陈出新的过程,至于具体实际项目中使用哪种 还需要你自己去斟酌其中奥妙。
网友评论