JDK1.8新的功能总结

1.lambda表达式:匿名内部类的简写 :(f) -> func(f);

2.接口中可以有非抽象方法,用default修饰

3.新增函数式接口:接口中只有一个抽象方法,接口使用注解@FunctionalInterface, 方便lambda表达式使用

4. lambda表达式和Stream接口对集合的操作:

           * foreach:    list.stream().forEach(x -> System.out.println(x))

           * filter:    list.stream().filter((s) -> s.startsWith("a")).forEach(System.out::println);

           * sorted:  list.stream().sorted().forEach(System.out::println); 要比较就要实现了Comparable<T>接口,并重写compareTo方法

           * map:list.stream().map((user -> { user.setName(user.getName().toUpperCase()); return user;                           })).forEach(System.out::println);

          * count:  list.stream().count(); 使用该操作后,流就不存在了

          * reduce:  stream中的多个元素规约为一个元素

          * list.stream()-->即进行串行操作,单线程。时间长 ;list.parallelStream()-->并行操作,多线程同时进行。需要时间短

5. 新的时间表达式:  LocalDate、LocalTime、LocalDateTime、DateTimeFormatter

6.hashMap:原来底层是数组+链表,当链表个数大于8时,引入红黑树。新增了线程安全的hashMap:ConcurrentHashMap。

猜你喜欢

转载自blog.csdn.net/guoguolifang/article/details/97009649
今日推荐