java8 lamda表达式8案例

本文详细介绍了Java 8中的Lambda表达式的10个实际应用案例,包括实现Runnable线程、事件处理、遍历List、函数接口使用、Predicate逻辑操作、Map与Reduce操作、过滤字符串、集合元素操作、创建无重复子列表以及计算列表统计信息等,展示了Lambda在简化代码和提升效率方面的强大能力。
摘要由CSDN通过智能技术生成

1. 实现Runnable线程案例

使用() -> {} 替代匿名类:

//Before Java 8:
new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("Before Java8 ");
    }
}).start();

//Java 8 way:
new Thread( () -> System.out.println("In Java8!") ).start();
     
Output:
too much code, for too little to do
Lambda expression rocks !!

你可以使用 下面语法实现Lambda:

(params) -> expression
(params) -> statement
(params) -> { statements }

如果你的方法并不改变任何方法参数,比如只是输出,那么可以简写如下:

() -> System.out.println("Hello Lambda Expressions");

如果你的方法接受两个方法参数,如下:

(int even, int odd) -> even + odd

2.实现事件处理

如果你曾经做过Swing 编程,你将永远不会忘记编写事件侦听器代码。使用lambda表达式如下所示写出更好的事件侦听器的代码。

// Before Java 8:
JButton show =  new JButton("Show");
show.addActionListener(new ActionListener() {
     @Override
     public void actionPerformed(ActionEvent e) {
           System.out.println("without lambda expression is boring");
        }
     });


// Java 8 way:
show.addActionListener((e) -> {
    System.out.println("Action !! Lambda expressions Rocks");
});

在java 8中你可以使用Lambda表达式替代丑陋的匿名类。

 

3.使用Lambda表达式遍历List集合

//Prior Java 8 :
List features = Arrays.asList("Lambdas", "Default Method", 
"Stream API", "Date and Time API");
for (String feature : features) {
   System.out.println(feature);
}

//In Java 8:
List features = Arrays.asList("Lambdas", "Default Method", "Stream API",
 "Date and Time API");
features.forEach(n -> System.out.println(n));

// Even better use Method reference feature of Java 8
// method reference is denoted by :: (double colon) operator
// looks similar to score resolution operator of C++
features.forEach(System.out::println);

Output:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值