随笔分类 - java集合
摘要:java集合体系 集合分为两组*(单列集合,双列集合)* 单列:Collection 主要子接口:List(有序可重复)、Set(无序) 双列:Map 主要实现类:HashTable、HashMap、TreeMap 单列 List(有序可重复) 所有实现类: 主要实现类:Vector、ArrayLi
阅读全文
摘要:LinkedHashSet源码分析 java模拟数组+链表:java模拟数组+链表 - CoderDreams - 博客园 (cnblogs.com)(LinkedHashSet为双向链表) 结论 LinkedHashSet加入顺序和取出元素的顺序是一致的 维护的是一个LinkedHashMap(是
阅读全文
摘要:HashSet小练习 需求 定义一个Employee类 该类包含: private成员属性name,sal,birthday(MyDate类型) 其中 birthday为 MyDate类型(属性包括:year, month, day) 要求: 创建3个Employee 放入HashSet中 当nam
阅读全文
摘要:HashSet源码分析 java模拟数组+链表:java模拟数组+链表 - CoderDreams - 博客园 (cnblogs.com) 结论 HashSet底层是HashMap 添加一个元素时:先得到Hash值 ==> 转成索引 找到存储数据表table,检查这个索引位置是否已经存放有元素 如果
阅读全文
摘要:LinkedList源码分析 大家可以先看一下这篇java简单模拟双向链表 - CoderDreams - 博客园 (cnblogs.com) 结论: 维护的是一个双向链表 无参构造器 public LinkedList() { } 无参实例化后,维护的是一个双向链表(此时:size=0;first
阅读全文
摘要:Vector源码分析 结论 无参构造,默认长度为10,满后按2倍扩容 指定大小,需要扩容时,每次按两倍扩容 源码分析 和ArrayList类似 无参构造时 无参构造器 public Vector() { // 按照10个空间大小调用带参构造器 this(10); } 带参构造时 带参构造 publi
阅读全文
摘要:ArrayList扩容源码分析 结论 实际是维护了一个Object类型的数组(transient Object[] elementData) transient表示瞬时,表示该属性不会被序列化 创建ArrayList时,调用无参构造时 初始elementData容量为0,第一次添加时,扩容至10 如
阅读全文