栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java小白入门200例96之Java Lambda 表达式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java小白入门200例96之Java Lambda 表达式

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、Javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  95.Java匿名类
►下一篇  97.Java Lambda的几种简写方式

概述

Lambda表达式是java8中新加的特性,可以替代匿名内部类的使用,简化代码的同时,更突出了原来匿名内部类中最重要的那部分包含真正逻辑的代码。

Lambda 表达式标准语法形式如下:

(参数列表) -> {
// Lambda表达式体
}

->被称为箭头操作符,箭头符将 Lambda 表达式拆分成两部分:

  1. 左侧:Lambda 表达式的参数列表。
  2. 右侧:Lambda 表达式中所需执行的功能,用{ }包起来,即 Lambda 体。
实例1

上节中的线程实例

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

运行结果:

java8以前使用一般的循环
明世隐
钟无艳
小鲁班
java8以后使用Lambda后的循环
明世隐
钟无艳
小鲁班

实例4

使用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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/309363.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号