Java
文章平均质量分 68
Jzedy
蜘蛛网查封了我的烛台
展开
-
Java磨刀
Java磨刀Java基础锁介绍原创 2021-07-30 11:14:31 · 202 阅读 · 0 评论 -
数据结构--红黑树
R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)定义 1. 红黑树的节点不是黑色的就是红色的 2. 红黑树的根节点一定是黑色的 3. 红黑树的所有叶子节点都是黑色的(注意:红黑树的叶子节点指Nil节点) 4. 红黑树任何路径上不允许出现相邻两个红色节点...原创 2019-03-13 17:01:12 · 213 阅读 · 0 评论 -
数据结构--(AVL)平衡二叉树
AVL树本质上还是二叉树,但是比二叉搜索树多了一个条件:每个节点的左右子树高度不超过1因为二叉搜索树在极端情况下无限趋近于链表,这种情况下不能体现二叉搜索树的高效率。如下图AVL树定义及节点定义public class AVLTree<T extends Comparable<T>>{ private Node<T> root; ...原创 2019-03-03 19:42:26 · 212 阅读 · 0 评论 -
数据结构--二叉搜索树
对于数组,查找速度快,而添加和删除速度慢;链表,查找速度慢,而添加和删除速度快;树具备查找、增删速度快的特点树的常用术语路径:从一个节点到另一个节点,所经过的节点的顺序排列称为’路径’根:树顶端的节点称为根。一棵树只有一个根,如果要把一个节点和边的集合称为树,那么从根到其他任何一个节点都必须有且只有一条路径父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点子节点:一个节点...原创 2019-02-24 22:54:02 · 211 阅读 · 0 评论 -
Java集合-08HashMap源码解析及使用实例
HashMap 简介HahMap是基于hash表的Map接口实现。该实现提供所有可选的映射操作,且允许key和value为null。同时它不是线程安全以及不能保证有序。初始容量(initial capacity)和加载因子(initial capacity)是影响HashMap的两个因素。容量表示hash表中桶(buckets)的数量,初始容量就是表示hash表在创建时候容量大小。加载因...原创 2019-01-02 14:27:36 · 192 阅读 · 0 评论 -
Java集合-09LinkedHashMap源码解析及使用实例
LinkedHashMap 简介hash表和链表实现了map接口,迭代顺序是可以预测的。LinkedHashMap和HashMap的不同是它所有的entry维持了一个双向链表结构。该链表定义了通常迭代顺序是键插入的顺序。LinkedHashMap 定义public class LinkedHashMap&lt;K,V&gt; extends HashMap&lt;K,V&gt; imp...原创 2019-01-05 15:43:40 · 266 阅读 · 0 评论 -
Java集合-06Vector源码解析及使用实例
Vector简介Vector (矢量类)实现了动态数组的功能,如同数组,它可以通过角标访问数据,不过Vector被创建后在添加或移除时候能适应性的增加或者减少。继承AbstractCollection类,实现了List、RandomAccess、Cloneable、Serialization接口构造方法public Vector()public Vector(int initial...原创 2018-12-18 22:49:15 · 155 阅读 · 0 评论 -
Java集合-05fail-fast(快速失败)机制原理及解决方法
fail-fast简介fail-fast(快速失败),是Java集合的一种错误检测机制。当在遍历集合的过程中该集合在结构(改变集合大小)上发生变化时候,有可能发生fail-fast,抛出java.util.ConcurrentModificationException异常。fail-fast出现场景单线程场景 public class FailFastSingleThre...原创 2018-12-18 14:15:33 · 741 阅读 · 0 评论 -
Java集合-04LinkedList源码解析
回顾与对比上一章讲到了ArrayList,你也可以在github上查看,ArrayList底层基于数组,所以支持随机访问,因为你可以通过下标访问到具体的数据,而LinkedList则是基于链表,这种不同造成它俩有各自的优缺点;ArrayList随机访问数据快,而在中间增加删除较慢,LinkedList相反,随机访问较慢,在中间增加删除较快;访问前面已经提到ArrayList是支持随机访...原创 2018-12-17 09:42:01 · 209 阅读 · 0 评论 -
Java集合-07Map接口及其抽象类
简介前面把List基本记录完了,对于集合List,Map,Set,因为Set基于Map,故先记录Map。这一篇主要记录Map接口及其抽象类(java version:1.8)整体架构参考上图,整体分析如下Map映射接口,定义了存储内容为键值对(key-value)及map的基本操作方法AbstractMap该抽象类对Map接口有了整体的实现,简化实现Map接口所...原创 2018-12-21 10:00:10 · 1082 阅读 · 0 评论 -
JAVA集合-03ArrayList源码解析和使用实例
JAVA集合-03ArrayList源码解析和使用实例上一章讲解了Collection接口下得抽象类和继承接口,后续深入到具体的实现类,博客及对应得代码可在github上查看ArrayList简介ArrayList底层实现是数组,相较于数组固定大小,ArrayList可以动态的增加;ArrayList继承AbstractCollection,实现了List、RandomAccess、C...原创 2018-12-14 21:05:16 · 210 阅读 · 0 评论 -
Java集合-02集合抽象类
Java集合-02集合抽象类Collection简介Collcetion定义(java version:1.8.0_111)public interface Collection&amp;lt;E&amp;gt; extends Iterable&amp;lt;E&amp;gt;{ boolean add(E e); boolean addAll(Collection&amp;lt原创 2018-12-14 10:21:32 · 392 阅读 · 0 评论 -
Java集合-01概述
Java集合-01概述Java集合是java提供的工具包,位于java.util包下,包括Collection Map以及工具类Arrays,Collections粗略分析集合主要分为Collection和Map,在Collection又主要分为List和Set。Collection中保存的元素都是同一种对象,其中List中的元素为有序可重复,Set为无序不可重复,Map保存键值对,...原创 2018-12-14 10:16:27 · 238 阅读 · 0 评论