Lambda表达式 (Lambda expressions)
public static void main(String[] args) {List<String> numbers = Arrays.asList("one", "two", "three", "four", "five");// 使用匿名内部类实现Collections.sort(numbers, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o2.compareTo(o1);}});// 使用Lambda实现Collections.sort(numbers,(String o1,String o2)->{return o2.compareTo(o1);});// 进行简化Collections.sort(numbers,(o1,o2)->o2.compareTo(o1));// 使用内置函数进行替换Collections.sort(numbers, Comparator.reverseOrder());}
Stream API
生成流
把集合数据变成流数据的过程
public void test01(){//第一种方法//Arrays.stream();//第二种方法,直接对List集合进行操作//第三种方法,直接使用stream.of()List<String> collect = Stream.of("one", "tow", "three").filter(s -> s.startsWith("o")).collect(Collectors.toList());System.out.println(collect);// 通过 迭代器 生成流var list = Stream.iterate(0,n->n+1).limit(10).peek(n -> log.debug("the number is :{}",n)).collect(Collectors.toList());// 通过 generate 生成var list2 = Stream.generate(()-> Math.random()).limit(10).collect(Collectors.toList());}
