Lamdba表达式,java8新特性,也是java程序原必学之一的基础语法。
Lamdba表达式遍历方式
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("d");
System.out.println(list);
//lambda形式遍历2种方式
list.forEach(System.out::println);
list.forEach((temp)->System.out.println(temp));
Lamdba表达式排序
String[] test = {"1", "2" , "5" ,"3" ,"4"};
List<String> list= Arrays.asList(test);
System.out.println("排序前:");
list.forEach((temp)->System.out.println(temp));
Arrays.sort(test, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
System.out.println("排序后:");
List<String> list1 = Arrays.asList(test);
list1.forEach((temp)->System.out.println(temp));
}
Lamdba表达式Stream流
一般而样Lamdba表达式Stream流都是使用上具体实体类使用。
过滤器的使用(条件筛选):
list.stream()
.filter(temp -> XXX == temp.getXXX())
.sorted(comparing(T::getValue))
.collect(Collectors.toList());
存储指定信息
list.stream()
.map(T -> T.getT1().getXXX() + "---" + T.getT1().getXXX())
.distinct()
.collect(toList());