Java集合的forEach 含forEach(System.out::print)

一.遍历集合里的每一个元素来作为参数执行某个方法

1.先创建一个类和一个方法:

foreachTest类作为用于遍历集合的类,printcontent作为用于遍历集合的方法。

<T>使用泛型,便于任何集合都能传递其元素到该类,该方法中。

class foreachTest<T>{//使用泛型便于任何集合都能传递参数
    public void printcontent(T element){
        System.out.println(element);//方法内容可以自己定义
    }
}

2. 在main方法内进行测试:

public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
//     foreach()内 new 类名()::方法名,即可将该集合内的每个元素作为参数传递到该方法内执行其内容
        list.forEach(new foreachTest()::printcontent);
// run后输出 1 2 3
}

2.1如果方法是静态方法,则通过 [ 类名::方法名 ] 调用即可 :

list.forEach(foreachTest::printcontent);


二. forEach(System.out::print)

集合.forEach(System.out::print) forEach(System.out::println) forEach(System.out::printf)

遍历输出集合里的每一个元素 相当于:

for(int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); }

public class test {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.forEach(System.out::print);//输出集合里的每一个值
// run 输出 1 2 3
    }
}


三.forEach((e)->{})

集合.forEach() 里面是一个lambda表达式 像前端jsES6的箭头函数

将集合的每一个元素传递到lambda表达式执行相应功能

public class test {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.forEach((e) ->{//将集合里的每一个元素作为参数e传递到lambda表达式里执行相应功能
            System.out.println(e);
        });
// run 输出 1 2 3
    }
}

总结

学习总结遇到的list.foreach(System.out::print) 等相关功能

经验分享 程序员 微信小程序 职场和发展