关于lambda表达式的一些学习,例举出来。

1.学生实体类

public class Student {
private String name;
private int age; public String getName() {
return name;
} public Student setName(String name) {
this.name = name;
return this;
} public int getAge() {
return age;
} public Student setAge(int age) {
this.age = age;
return this;
} @Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}

2.操作对象有关的方法

public class Test {
public static void main(String[] args) {
List<Student> list = new ArrayList<>();
for (int i = 0; i < 4; i++) {
list.add(new Student().setAge(i + 10).setName("yiqq" + i));
}
//直接返回对象
Student student = list.stream().filter(a -> "yiqq0".equals(a.getName())).findFirst().orElse(null);
System.out.println(student);
//返回Optional
Optional<Student> firstA = list.stream().filter(a -> "yiqq0".equals(a.getName())).findFirst();
Student stu = firstA.orElse(null);
System.out.println(stu);
//获取对象
if (firstA.isPresent()) {
Student stus = firstA.get();
System.out.println(stus);
}
//返回集合
List<Student> studentList = list.stream().filter(a -> "yiqq0".equals(a.getName())).collect(Collectors.toList());
System.out.println(studentList);
//取对象中所有的id的集合
List<Integer> integerList = list.stream().map(Student::getAge).distinct().collect(Collectors.toList());//distinct去重
System.out.println(integerList);
}
}

3.lambda表达式的一些用法

public class TestL {
public static void main(String[] args) {
String[] atp = {"00006", "00002","00001","00005","00004", "00003"};
Arrays.sort(atp, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return (s1.compareTo(s2));
}
});
Arrays.sort(atp, (String s1, String s2) -> (s1.compareTo(s2)));//Lambdas排序集合
List<String> players = Arrays.asList(atp);//数组转list集合 String [] array = players.toArray(new String[0]);//list集合转数组
System.out.println(Arrays.toString(array));//数组转化为string输出 // 以前的循环方式
for (String player : players) {
System.out.print(player + "; ");
}
// 使用 lambda 表达式以及函数操作(functional operation)
players.forEach((player) -> System.out.print(player + "; ")); // 在 Java 8 中使用双冒号操作符(double colon operator)
players.forEach(System.out::println);
}
}

最新文章

  1. Java知多少(112)数据库之删除记录
  2. [v]Debian类系统的有效国内源
  3. 在Android应用中实现Google搜索的例子
  4. swift苹果的下一代语言
  5. android界面优化笔记(TODO)
  6. 【贪心】HDU 5783 Divide the Sequence
  7. ecshop中ajax的调用原理 1
  8. Android之View绘制流程源码分析
  9. 第一个Vue插件从封装到发布
  10. HTML meta refresh 刷新与跳转(重定向)页面
  11. RecyclerView与ListView 对比浅析:缓存机制
  12. C# 如何隐藏或显示工作表中的网格线
  13. linux之配置Mongodb~
  14. Python-bootstrap
  15. html5的理解
  16. linux 免输入密码脚本
  17. &lt;魔鬼投资学&gt;读书笔记
  18. 网站搜索引擎优化(SEO)的18条守则
  19. 13-调试Dockerfile
  20. so easy, too happy

热门文章

  1. 从MySQL迁移到MariaDB(CentOS)
  2. Python3基本数据类型之列表
  3. JVM 栈帧之操作数栈与局部变量表
  4. 关于 .Net Core runtimeconfig 文件说明
  5. MVC整体运行流程一(进入管道)
  6. jquery实现表格导入到Excel(加图片)
  7. CSS 之Grid网格大致知识梳理1
  8. MySQL数据库之表的增删改查
  9. 分清&lt;url-pattern&gt;/&lt;/url-pattern&gt;与&lt;url-pattern&gt;/*&lt;/url-pattern&gt;的不同
  10. HashMap原理。图文并茂式解读。这些注意点你一定还不了解