首页 > 编程语言 >【Java】Lambda表达式(三)

【Java】Lambda表达式(三)

时间:2023-05-29 22:24:50浏览次数:40  
标签:Java Arrays List list System collect out 表达式 Lambda

常用 Lambda表达式

1、遍历
final List<String> list = Arrays.asList("zhangsan", "lisi", "wangwu", "lishan");
list.forEach(System.out::println);;
2、排序
final List<String> list = Arrays.asList("zhangsan", "lisi", "wangwu", "lishan");
// 第一种
//        list.sort(String::compareTo);
// 第二种
//        Collections.sort(list, String::compareTo);
// 第三种
Collections.sort(list, (o1, o2) -> o1.compareTo(o2));
list.forEach(System.err::println);
3、过滤
final List<String> list = Arrays.asList("zhangsan", "lisi", "wangwu", "lishan");
List<String> list1 = list.stream().filter(s -> s.startsWith("l")).collect(toList());
list1.forEach(System.out::println);
4、映射
final List<String> list = Arrays.asList("zhangsan", "lisi", "wangwu", "lishan");
List<Integer> collect = list.stream().map(String::length).collect(toList());
collect.forEach(System.out::println);
5、归约
List<Integer> list2 = Arrays.asList(1, 2, 3, 5, 6, 7, 8);
//        Integer sum = list2.stream().reduce(0, (a, b) -> a + b);
Integer sum = list2.stream().reduce(0, (a, b) -> {
            System.out.printf("%d ,%d \n", a, b);
            return a + b;
            });
System.out.println(sum);
6、分组
final List<String> list = Arrays.asList("zhangsan", "lisi", "wangwu", "lishan");
Map<Integer, List<String>> collect = list.stream().collect(groupingBy(String::length));
        collect.forEach((k, v) -> {
            System.out.printf("k=%s,v=%s", k, CollUtil.toList(v));
        });

标签:Java,Arrays,List,list,System,collect,out,表达式,Lambda
From: https://www.cnblogs.com/wsx2019/p/17441834.html

相关文章

  • 基于JAVA的springboot+vue医院信息管理系统、医院挂号管理系统,附源码+数据库+论文+PPT
    1、项目介绍任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了医院信管系统。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。系统主要包括首页,个人中心,用户......
  • java之封装
    封装:将属性和方法封装为一个整体,属性和方法都有权限限制classPerson{privateintage;//私有属性,只能在本类中访问publicvoidsetAge(intage){if(age<0||age>200)age=0;else{this.age=age;......
  • net-core(EF Core)-使用表达式树还是委托
    usingMicrosoft.EntityFrameworkCore;usingMicrosoft.EntityFrameworkCore.Metadata.Builders;publicclassMemberConfig:IEntityTypeConfiguration<Member>{publicvoidConfigure(EntityTypeBuilder<Member>builder){builder.ToTa......
  • java类的引入
    对比: 构造方法:1.方法名和类名相同2.方法没有返回值,且用public修饰3.可以有任意多个参数(默认是没有参数)注:可以有多个构造函数;当在实例化这个类的对象时,如果实例化的对象没有带参数,则调用没带参数的构造函数classPerson{Stringna......
  • 002_Java的环境
    002_Java的环境JDK的删除删除Java的安装目录删除JAVA_HOME删除path下的Java目录配置JDK我的电脑-右键-属性-环境变量新建JAVA_HOME,将安装路径复制进去配置path验证版本代码:java-version......
  • Java中的多态性
    多态性是面向对象编程的一项核心概念之一,它允许程序员使用不同的方式来处理不同的对象类型,而不必知道实际对象类型。在Java中,多态性可以通过继承和接口来实现。继承的多态性在Java中,多态性可以通过继承来实现。子类可以继承父类的方法和属性,并且还可以覆盖它们,使得它们在子类中......
  • Java日期时间调整的几种方式
     一、Calendar类我们现在已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟?我们又如何在日期的这些部分加上或者减去值呢?答案是使用Calendar类。Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂......
  • 【Java】你真的了解抽象类和接口?
    一、抽象类在Java中,一个类如果被abstract修饰称为抽象类,抽象类中被abstract修饰的方法称为抽象方法**,抽象方法不用给出具体的实现体**。publicclassTestDemo{publicstaticvoidmain(String[]args){Circlec=newCircle();c.setR(5);c.......
  • 基于Expression Lambda表达式树的通用复杂动态查询构建器——《剧透一下》
    前篇《https://www.cnblogs.com/ls0001/p/17437225.html》有大佬在评论里剧透了,这里就来一遍剧透。  通常,前后端分离的系统要在前端查询数据是提交一个带着查询条件参数的表单,比如A=1,B=2,类似样,后端接收到表单需要将这些条件参数拼接成查询需要写代码,并且表单结构通常是不带查......
  • 正则表达式
    正则表达式.matches字符类(只匹配一个字符)[abc]只能是a,b或c[^abc]除了a,b,c之外的任何字符[a-zA-Z]a到zA到Z[a-d[m-p]]a到d或m到p[a-z&&[def]]a-z和def的交集为:d,e,f[a-z&&[^bc]]a-z和非bc的交集(等同于[ad-z])[a-z&&[^m-p]]a到z和除了m到p的......