引言作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、Javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!
很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!
✪ Java小白入门200例系列目录索引
◄上一篇 95.Java匿名类
►下一篇 97.Java Lambda的几种简写方式
Lambda表达式是java8中新加的特性,可以替代匿名内部类的使用,简化代码的同时,更突出了原来匿名内部类中最重要的那部分包含真正逻辑的代码。
Lambda 表达式标准语法形式如下:
(参数列表) -> {
// Lambda表达式体
}
->被称为箭头操作符,箭头符将 Lambda 表达式拆分成两部分:
- 左侧:Lambda 表达式的参数列表。
- 右侧:Lambda 表达式中所需执行的功能,用{ }包起来,即 Lambda 体。
上节中的线程实例
package demo.demo96;
public class ThreadTest {
public static void main(String[] args) {
Thread thread = new Thread(new Runnable() {
//重写run方法
public void run() {
int i=10;
while (i>0) {
System.out.println("线程打印:"+i);
i--;
}
}
});
//启动线程
thread.start();
}
}
实例2
用Lambda表达式来改造上例
package demo.demo96;
public class ThreadTest2 {
public static void main(String[] args) {
Thread thread = new Thread(() ->{
int i=10;
while (i>0) {
System.out.println("线程打印:"+i);
i--;
}
});
//启动线程
thread.start();
}
}
运行结果:
线程打印:10
线程打印:9
线程打印:8
线程打印:7
线程打印:6
线程打印:5
线程打印:4
线程打印:3
线程打印:2
线程打印:1
改造以后运行结果是一样的,但是代码简洁了不少,如果是熟悉Javascript的小伙伴会发现,这个和js的箭头函数非常类似。
实例3使用lambda表达式对集合进行迭代。
package demo.demo96;
import java.util.ArrayList;
import java.util.List;
public class ListTest {
public static void main(String[] args) {
List names = new ArrayList();
names.add("明世隐");
names.add("钟无艳");
names.add("小鲁班");
System.out.println("java8以前使用一般的循环");
for(String each:names) {
System.out.println(each);
}
System.out.println("java8以后使用Lambda后的循环");
names.forEach((name) -> System.out.println(name));
}
}
运行结果:
实例4java8以前使用一般的循环
明世隐
钟无艳
小鲁班
java8以后使用Lambda后的循环
明世隐
钟无艳
小鲁班
使用Lambda表达式迭代Map
package demo.demo96;
import java.util.HashMap;
import java.util.Map;
import javax.security.auth.kerberos.KerberosKey;
public class MapTest {
public static void main(String[] args) {
Map names = new HashMap();
names.put("a","明世隐");
names.put("b","钟无艳");
names.put("c","小鲁班");
System.out.println("java8以前使用Map迭代");
// 遍历map中的键
for (String key : names.keySet()) {
System.out.println(key+":"+names.get(key));
}
System.out.println("java8以后使用Lambda后的Map迭代");
names.forEach((key,value) -> System.out.println(key+":"+value));
}
}
运行结果:
小结java8以前使用Map迭代
a:明世隐
b:钟无艳
c:小鲁班
java8以后使用Lambda后的Map迭代
a:明世隐
b:钟无艳
c:小鲁班
这节总结了“ Java Lambda 表达式 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。
评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!
导航✪ Java小白入门200例系列目录索引
◄上一篇 95.Java匿名类
►下一篇 97.Java Lambda的几种简写方式
1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.Javascript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java



