
Java基础
识1DD编程
识1DD编程噶程序猿
展开
-
HashMap源码透析,结构验证
简介 HashMap在1.8之后通过数组(table)属性使用单向链表 + 红黑树的结构组合提高查找效率,于是我大致的画了下图: 后来写着写着发现我还是太年轻了,有什么比亲手实践更值得让人信服呢? 类图分析(只标注主要属性方法) Map<K,V>:键值映射的基础接口,提供常用的键值映射操作方法的抽象 Map.Entry<K,V>:键值对条目(单个键值)抽象接口 AbstractMap<K,V>: 简单实现了Map接口的部分方法 HashMap<K,V>:原创 2020-05-25 17:38:33 · 248 阅读 · 0 评论 -
简单的解剖了下ArrayList
简介 ArrayList是一个可动态调整数组大小的集合类,其类图关系如下: List:声明是一个有序的集合,可以控制元素位置并索引访问。 RandomAccess:声明支持快速随机访问的标记接口,常用于列表类实现。该接口的主要目的是允许通用算法更改其行为,即必要时选择更好的算法进行性能上的提高,实现了该接口的列表使用for遍历比迭代器Iterator遍历效率高。 Serializa...原创 2020-04-14 15:32:03 · 174 阅读 · 0 评论 -
问我Java基本数据类型?我可以把字节码也扯上了
Java中的8个基本类型 数据类型 boolean byte char short int long float double 包装类型 Boolean Byte Character Short Integer Long Float Double bit 1 8 16 16 32 64 64 64 基本类型的两条准则: 对整型数据不指定类型默认为int类型,浮点数默认为d...原创 2020-03-19 16:26:24 · 301 阅读 · 0 评论 -
通过JDK函数式遍历列表设置父子关联(如菜单、分类等)
前言 该文章主要续上一篇文章JDK函数式编程的认知与使用中的例子补充,通过一个简洁的函数式方法将含父子关系的类列表(如分类、菜单等)进行树状排序且无需递归设置,当含需要从数据库中获取所有此类数据对象并树状排序业务时可使用该方法。 范例代码 Classify.java: @Data import lombok.Data; import java.util.List; /** * Classif...原创 2020-02-11 16:54:12 · 422 阅读 · 0 评论 -
谈谈个人对JDK函数式编程的认知与使用
前言 该文章主要介绍JDK中各种常见的函数式接口,并会附上一些个人对函数式编程的一些扩展思考与实际用法。 常见的函数式接口介绍 jdk1.8的函数式接口都在rt.jar中java.util.function包下,以下以jdk集合类与个人常用的接口进行介绍: Function<T,R>:传入类型为T的对象并执行含返回值(返回值为R-return类型)的指定方法,方法可临时实现。常见于...原创 2020-02-06 14:31:19 · 419 阅读 · 0 评论