lambda简述

一直都知道lambda是java8的特性但是一直都没有用过
看了好多的博客确实没有看出来啥东西,也许是我笨,然后我总结了一下博客的内容总结出我能够使用的lambda的情况。

lambda用法

一些很基本的用法我就不说了

public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();

        Collections.addAll(list, 1,2,3,4,5);

        list.forEach(element -> {
            if (element % 2 == 0) {
                System.out.println(element);
            }
        });

        System.out.println(list.toString());
    }

在这里插入图片描述

遍历元素,element 每一个元素直接遍历,这种主要是用于不需要展示第几个的那种,单纯的为了遍历而遍历,可能有人会问,啥叫为了遍历而遍历,比如说有一些关键的数据遍历的时候需要去try catch 还需要知道这是第几个出的问题,就不适用这个功能,但是只是单纯的遍历就没有这个问题。
当然不仅仅是可以遍历还可以进行用于排序

public class Test2 {
    public static void main(String[] args) {
        ArrayList<Item> list = new ArrayList<>();
        list.add(new Item(13, "背心", 7.80));
        list.add(new Item(11, "半袖", 37.80));
        list.add(new Item(14, "风衣", 139.80));
        list.add(new Item(12, "秋裤", 55.33));

        list.sort(new Comparator<Item>() {
            @Override
            public int compare(Item o1, Item o2) {
                return o1.getId()  - o2.getId();
            }
        });

       System.out.println(list.toString());
    }
}

item类

package Test20210727;

public class Item {
    int id;
    String b;
    double c;

    public Item(int id, String b, double c) {
        this.id = id;
        this.b = b;
        this.c = c;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getB() {
        return b;
    }

    public void setB(String b) {
        this.b = b;
    }

    public double getC() {
        return c;
    }

    public void setC(double c) {
        this.c = c;
    }

    @Override
    public String toString() {
        return "Item{" +
                "id=" + id +
                ", b='" + b + '\'' +
                ", c=" + c +
                '}';
    }
}

其实内容也没有东西,就是一个实体类,还有就是我们实现排序方法的基本方法就是写一个比较类继承Comparator接口或者继承比较类,或者是使用具体的属性,我记得是方法有三种,具体的这个很简单就不在之类介绍了。
这里就体现了lambda的好处,匿名内部类直接写,直接可以变成

public class Test2 {
    public static void main(String[] args) {
        ArrayList<Item> list = new ArrayList<>();
        list.add(new Item(13, "背心", 7.80));
        list.add(new Item(11, "半袖", 37.80));
        list.add(new Item(14, "风衣", 139.80));
        list.add(new Item(12, "秋裤", 55.33));

        list.sort((o1, o2) -> o1.getId() - o2.getId());

        System.out.println(list.toString());
    }
}

这两个效果是相等的,可以直接代替。
其实lambda的用法我感觉好用的就是在这两个一个集合的遍历,一个是匿名内部类的处理,其他的我暂时没有用到或者没有想到使用的环境

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
2. Timer的主要作用: Timer是一个计时器类,它可以在指定的时间间隔内定期触发一个事件或调用一个方法。在C#中,Timer类可以用于定时执行一些任务、轮询某些资源或周期性地更新UI等场景。Timer类提供了多种构造函数和属性,可以根据需要灵活地配置计时器的间隔时间、是否自动重置、是否在多线程中执行等参数。 3. StreamWriter类的作用: StreamWriter是一个用于向文本文件中写入数据的类。它提供了多个构造函数和方法,可以方便地创建、打开、关闭文件,以及向文件中写入文本数据。StreamWriter类还支持设置编码格式、自动刷新缓冲区、使用追加模式写入数据等功能,可以满足各种不同的文本写入需求。 4. Lambda表达式的特征: Lambda表达式是一种匿名函数,可以用于简化代码和提高代码可读性。Lambda表达式的主要特征包括: - 简洁:Lambda表达式通常比传统的方法定义更为简洁,可以减少代码量和代码复杂度。 - 匿名:Lambda表达式没有名称,可以在需要时直接使用,无需定义额外的方法。 - 可以作为参数传递:Lambda表达式可以作为方法的参数传递,可以方便地实现回调函数等功能。 - 支持闭包:Lambda表达式支持闭包,可以访问其所在方法或类的变量和参数,便于编写更加灵活和可重用的代码。 - 可以推断类型:Lambda表达式可以根据上下文自动推断类型,可以进一步简化代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

又是重名了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值