• java编程基础总结——20.foreach遍历及lambda表达式


    foreach遍历及lambda表达式

    1. forEach()方法:

         用于所有容器集合类型和数组类型的遍历每个元素

         因为forEach()方法是Iterable接口的方法,集合继承了该接口

     

     @FunctionalInterface 表示接口中只有一个未实现的方法 ,可以接收lambda表达式

    1). 使用内部类实现遍历列表 

    1. @Test
    2. void test04() {
    3. List nums = new LinkedList<>();
    4. nums.add(11);
    5. nums.add(112);
    6. nums.add(1122);
    7. nums.add(1128);
    8. nums.add(1129);
    9. nums.add(0, 123);
    10. nums.forEach(new MyConsumer());
    11. }
    12. // 使用内部类实现遍历列表
    13. class MyConsumer implements Consumer {
    14. @Override
    15. public void accept(Integer t) {
    16. System.out.println(t);
    17. }
    18. }

    2). 使用匿名内部类遍历列表 

    1. @Test
    2. void test05() {
    3. List nums = new LinkedList<>();
    4. nums.add(11);
    5. nums.add(112);
    6. nums.add(1122);
    7. nums.add(1128);
    8. nums.add(1129);
    9. nums.add(0, 123);
    10. // 使用匿名内部类遍历列表
    11. nums.forEach(new Consumer() {
    12. @Override
    13. public void accept(Integer t) {
    14. System.out.println(t);
    15. }
    16. });
    17. }

    2. lambda表达式

    jdk1.8之后,lambda表达式,可以简化上面的做法

    1. @Test
    2. void test06() {
    3. List nums = new LinkedList<>();
    4. nums.add(11);
    5. nums.add(112);
    6. nums.add(1122);
    7. nums.add(1128);
    8. nums.add(1129);
    9. nums.add(0, 123);
    10. // JDK8 lambda表达式
    11. //只适合于有一个为实现方法的接口,这个方法名字肯定知道,所以从参数写起即可,不用写名称
    12. //没有{}的话不能加分号,表示只有一条语句;有{}的话需要加分号
    13. nums.forEach(t -> {System.out.println(t);});
    14. nums.forEach((t) -> {System.out.println(t);});
    15. nums.forEach((Integer t) -> System.out.println(t));
    16. //lambda表达式的简化写法
    17. //:表示调用其他方法,调用System.out中的println方法来打印
    18. nums.forEach(System.out::println);

    //如果方法返回值的话, lambda表达式简化写法,可以直接返回值,如

    nums.forEach((Integer t) -> 123);

  • 相关阅读:
    低代码平台 Power Platform 又上新,让你“事半功倍”
    Go语言常用库
    IPM 鸟瞰图公式转换与推导
    企业工厂车间台式电脑经常有静电导致开不开机,如何彻底解决?
    1373. 二叉搜索子树的最大键值和
    数据结构——栈和队列
    Self-Supervised Visual Feature Learning With Deep Neural Networks: A Survey
    漏洞挖掘之Spring Cloud注入漏洞
    graphviz 绘制红黑树
    IOS开发--UILabel的基本使用
  • 原文地址:https://blog.csdn.net/m0_58679504/article/details/126198282