lambda表达式

作者

推荐理由

lambda表达式可以提高编程效率,精简代码;但与此同时会带来一些代码可读性下降的问题,因此需要熟悉lambda表达式,本文对其基本用法进行了一些总结,虽有不少遗漏之处,对初接触lambda表达式具有一定价值

1.lambda表达式用来代替匿名内部类
lambda表达式
2.语法精简
lambda表达式
3.语法进阶

静态方法引用:
lambda表达式构造方法引用:
lambda表达式
3.应用

集合排序:
lambda表达式有序集合treeSet:
lambda表达式
删除集合元素
lambda表达式4.系统内置的一些函数式接口
lambda表达式

5lambda表达式与stream流混合使用

去重
List distinctList = list.stream().distinct().collect(Collectors.toList());
排序
List sortedList = list.stream().sorted((o1,o2)->o1.getAge()-o2.getAge()).collect(Collectors.toList());
过滤
List filterList = list.stream().filter(item >item.getAge()>3).collect(Collectors.toList());
提取对象中某一元素
List mapList1 = list.stream().map(Person::getName).collect(Collectors.toList()); List mapList2 = list.stream().map(item->item.getName()).collect(Collectors.toList());
统计(最大,最小,平均值)
double sum = list.stream().mapToDouble(Person::getAge).sum();
分组
Map<Integer, List> map = list.stream().collect(Collectors.groupingBy(Person::getAge));