![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
jdk 新特性
文章平均质量分 54
jdk8 新特性 / jdk11 新特性
兮家小二
傻傻的小男孩,qq:1720696548 wx:1720696548
展开
-
jdk8 List<T> 根据某一个字段去重
petList = petList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection( () -> new TreeSet<>(Comparator.comparing(PetsPetInfo::getUserId))), ArrayList::new));个人开源项目(通用后台管理系统)–> https://gitee.com/wslxm/sprin原创 2020-12-30 10:44:53 · 2189 阅读 · 0 评论 -
jdk8 根据时间进行分组统计
1、按时间分组统计2、时间字段是 yyyy-MM-dd HH:mm:ss 格式3、按月统计, 计算没有增加数量1、统计方法时间方法到月:parse_yyyyMM , 按月统计数据时间方法到月:parse_yyyyMMdd, 按日统计数据 /** * 折线图统计(按月) * <P> * 1- 患者统计 * 2- 出货统计 * </P> * @param ybOrderPageVO .原创 2020-09-14 20:41:33 · 5766 阅读 · 5 评论 -
JDK8 使用stream 对 Map 进行 key排序和 value排序
package com.ws.ldy.common.utils;import com.google.common.collect.Maps;import java.util.Map;/** * jdk 8 排序工具类 * @author wangsong * @mail 1720696548@qq.com * @date 2020/9/14 0014 14:19 * @version 1.0.0 */public class Java8MapSort { /**原创 2020-09-14 20:42:58 · 3372 阅读 · 0 评论 -
jdk8 新特性之 HashMap基本描叙及 Map新Api 示例
本文主要对jdk 8 Map 新提供的相关Api 做简单的代码演示前篇:JDK8的 Map 基本描叙new hashMap():new的时候底层没有创建一个长度为16的数组 ,首次使用put()方法时底层创建长度为16的Node[]数组JDK 8中底层的数组是Node[]类型的数组而非Entry[]类型JDK8中的底层结构为数组+链表+红黑树;JDK7底层结构只有数组+链表,当数组中的某一个索引位置上的元素以链表形式存在的数据个数大于8且当前数组长度超过64时,此索引位置上的原创 2020-05-17 17:52:57 · 598 阅读 · 0 评论 -
jdk8 新特性之 Stream流
1、第一个使用流示例2、获取流3、过滤流4 、映射流5 、取前几个6、跳过前几个7 、先跳过前几个, 在获取跳过后的前几个,(类似于分页)8、将流转为集合 collect(Map/ List)转 list转map// value 等于对象Map<Integer, Student> map = list.stream().collect(Collectors.toMap(Student::getId, student -> student));//原创 2020-05-14 08:32:50 · 266 阅读 · 0 评论 -
jdk8 新特性之 函数式接口
一、函数式接口说明1、函数式接口条件(1)、只包含一个抽象方法的接口,称为函数式接口。(2)、你可以通过Lambda表达式来创建该接口的对象。(若Lambda表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。(3)、我们可以在任意函数式接口上使用@FunctionalInterface注解,这样做可以检查它是否是一个函数式接口,同时javadoc也会包含一条声明,说明这个接口是一个函数式接口。2、@FunctionalInterface 注解说明1.此注解表明该接口是一个原创 2020-05-13 13:38:54 · 1524 阅读 · 0 评论 -
jdk8 新特性之 接口默认方法
一、创建接口,实现默认方法package interfaceTest;/** * TODO 接口的默认方法 * 使用 default 关键字使 interface 默认实现方法, * static 作用是使其方法可以被其他类直接调用, * 如注入到 spring容器中,不需要添加static * * @author ws * @mail 1720696548@qq.com * @date 2020/5/13 0013 7:29 */public interface For原创 2020-05-13 13:13:03 · 468 阅读 · 0 评论 -
jdk8 新特性之统计查询 (针对 List集合, stream()方式)
一、统计单个numbers.stream().mapToInt(x -> x)… //创建集合 List<Integer> numbers = Arrays.asList(4, 6, 65, 3, 44, 2, 17, 19); int max = numbers.stream().mapToInt(x -> x).max().getAsInt(); int min = numbers.stream().mapToIn原创 2020-05-12 08:44:24 · 2294 阅读 · 0 评论 -
jdk8 新特性之 List / Map 循环
一、jdk8 List 循环p = 每一次遍历出来的对象 // 当 list = null 时会抛出空指针异常 java.lang.NullPointerException // A list.forEach(p -> { System.out.println(p); }); // 使用 Optional 避免null 导致的NullPointerException // B Optional.ofNullable(list).orE原创 2020-05-10 23:33:12 · 2159 阅读 · 0 评论 -
jdk8 新特性之 List 排序
一、排序示例升序–> 从小到大降序–> 从大到小age --> 排序字段jdk8 -> Lambda 循环打印println -> list.forEach(System.out::println);1、jdk8 -> 之前的排序(升序) Collections.sort(list, new Comparator<User>() { @Override public int com原创 2020-05-10 23:02:48 · 6686 阅读 · 0 评论 -
jdk8 新特性之手写 Lambda 使用 User::getUsername 获取对象属性名方法
一、mybatis-plus 中使用示例暂时我们在开发中经常使用 mybatis-plus 中使用Lambda :: get… 获取对象属性名,那么他是如何实现的呢?二、创建可以使用类型功能的工具类1、创建 SFunction 注解传递: 使用 User::getUaerame 来传递对象属性名 ,接收: 使用 SFunction<T> fn 接收对象属性信息/** * @classname: SFunction * @create: 2019-09-25 12:5原创 2020-05-10 22:09:41 · 11007 阅读 · 0 评论