摘要: Java集合是java提供的工具包,位于java.util包下,包括Collection Map以及工具类Arrays,Collections 粗略分析 集合主要分为Collection和Map,在Collection又主要分为List和Set Collection中保存的元素都是同一种对象, 其中 阅读全文
posted @ 2018-12-07 11:01 Jzedy 阅读(139) 评论(0) 推荐(0) 编辑
摘要: R B Tree,全称是Red Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black) 定义 1. 红黑树的节点不是黑色的就是红色的 2. 红黑树的根节点一定是黑色的 3. 红黑树的所有叶子节点都是黑色的(注意 阅读全文
posted @ 2019-03-13 17:03 Jzedy 阅读(196) 评论(0) 推荐(0) 编辑
摘要: AVL树本质上还是二叉树,但是比二叉搜索树多了一个条件:每个节点的左右子树高度不超过1 因为二叉搜索树在极端情况下无限趋近于链表,这种情况下不能体现二叉搜索树的高效率。如下图 AVL树定义及节点定义 树的高度 旋转 AVL树在添加或者删除后,可能导致AVL树失去平衡。 失去平衡包括四种:LL(左左) 阅读全文
posted @ 2019-03-03 19:46 Jzedy 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 对于数组,查找速度快,而添加和删除速度慢;链表,查找速度慢,而添加和删除速度快;树具备查找、增删速度快的特点 树的常用术语 路径 :从一个节点到另一个节点,所经过的节点的顺序排列称为'路径’ 根 :树顶端的节点称为根。一棵树只有一个根,如果要把一个节点和边的集合称为树,那么从根到其他任何一个节点都必 阅读全文
posted @ 2019-02-24 22:50 Jzedy 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 之前采用maven generator 生成代码,在配置文件上因为从单模块到多模块时出现问题, 改用mybatis plus自动生成代码。 码云地址: "https://gitee.com/baomidou/mybatis plus" github地址: "https://github.com/ba 阅读全文
posted @ 2019-01-13 12:30 Jzedy 阅读(2093) 评论(0) 推荐(1) 编辑
摘要: LinkedHashMap 简介 hash表和链表实现了map接口,迭代顺序是可以预测的。LinkedHashMap和HashMap的不同是它所有的entry 维持了一个双向链表结构。该链表定义了通常迭代顺序是键插入的顺序。 LinkedHashMap 定义 public class LinkedH 阅读全文
posted @ 2019-01-05 15:41 Jzedy 阅读(277) 评论(0) 推荐(0) 编辑
摘要: HashMap 简介 HahMap是基于hash表的Map接口实现。该实现提供所有可选的映射操作,且允许key和value为null。同时 它不是线程安全以及不能保证有序。初始容量(initial capacity)和加载因子(initial capacity)是影响 HashMap的两个因素。容量 阅读全文
posted @ 2019-01-02 14:19 Jzedy 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 简介 前面把List基本记录完了,对于集合List,Map,Set,因为Set基于Map,故先记录Map。 这一篇主要记录Map接口及其抽象类(java version:1.8) 整体架构 参考上图,整体分析如下 1. Map 映射接口,定义了存储内容为键值对(key value)及map的基本操作 阅读全文
posted @ 2018-12-21 09:58 Jzedy 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Vector简介 Vector (矢量类)实现了动态数组的功能,如同数组,它可以通过角标访问数据, 不过Vector被创建后在添加或移除时候能适应性的增加或者减少。继承AbstractCollection类,实现了List、RandomAccess、Cloneable、Serialization接口 阅读全文
posted @ 2018-12-18 22:42 Jzedy 阅读(362) 评论(0) 推荐(0) 编辑
摘要: fail fast简介 fail fast(快速失败),是Java集合的一种错误检测机制。当在遍历集合的过程中该集合在结构(改变集合大小)上发生变化时候, 有可能发生fail fast,抛出java.util.ConcurrentModificationException异常。 fail fast出 阅读全文
posted @ 2018-12-18 14:11 Jzedy 阅读(987) 评论(0) 推荐(0) 编辑
摘要: 回顾与对比 上一章讲到了 "ArrayList" ,你也可以在 "github" 上查看,ArrayList底层基于数组,所以支持随机访问,因为你可以通过下标访问到具体的数据,而LinkedList则是基于链表,这种不同造成它俩有各自的优缺点;ArrayList随机访问数据快,而在中间增加删除较慢, 阅读全文
posted @ 2018-12-14 16:56 Jzedy 阅读(322) 评论(0) 推荐(0) 编辑