• 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);

  • 相关阅读:
    【计算机网络】三次握手与四次挥手(过程详解)
    JDK17 ReentrantLock 简述 lock()、unLock()
    安卓APP源码和报告——学生信息管理系统
    把微信变成找券返利机器人,淘宝客查券返利小助手自动赚佣金实现方法分享
    IWDG与WWDG (学习)
    如何避免阿里云对象储存OSS被盗刷
    excel提取单元格中的数字
    CSS超出两行隐藏
    LeetCode 73. 矩阵置零
    AI+低代码:开启普惠人工智能时代的新篇章
  • 原文地址:https://blog.csdn.net/m0_58679504/article/details/126198282