jdk1.8 新特性之 forEach 循环遍历

Posted dounine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdk1.8 新特性之 forEach 循环遍历相关的知识,希望对你有一定的参考价值。

常规情况下我们基本都是这么写的

List<Integer> numbers = new ArrayList<>();

//no.1
for(Integer number : numbers)
    System.out.println(number);


//no.2
for(int index=0,len=numbers.size();index<len;index++)
    System.out.println(numbers.get(index));

使用jdk1.8后,可这么写

//no.1
numbers.forEach((Integer integer) -> 
    System.out.println(integer);
);

//no.2
numbers.forEach(integer -> 
    System.out.println(integer);
);

//no.3
numbers.forEach(integer -> System.out.println(integer));

//no.4
numbers.forEach(System.out::println);

//no.5
numbers.forEach(new MyConsumer());

MyConsumer类如下,主要是接口的实现

class MyConsumer implements Consumer<Integer>

    @Override
    public void accept(Integer integer) 
        System.out.println(integer);
    

以上是关于jdk1.8 新特性之 forEach 循环遍历的主要内容,如果未能解决你的问题,请参考以下文章

JDK8新特性之stream

Java8新特性之forEach遍历

深入理解Stream之foreach源码解析

jdk5新特性

jdk1.8新特性Stream流式处理

JDK5新特性--forEach循环