摘要: 一、概述 使用HashMap存储,非线程安全; 二、实现 HashSet 底层使用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调用底层 HashMap 的相关方法来完成, 应该为保存到 HashSet 中的对象覆盖 hashCo 阅读全文
posted @ 2017-06-09 13:21 牛哥学coding 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 一、概述 数据结构同ArrayList,底层都是数组存储,只不过是线程同步的,也就是其 操作方法都是synchronized 阅读全文
posted @ 2017-06-09 11:23 牛哥学coding 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一、概述 数据结构和ArrayList有本质不同,LinkedList 是基于链表实现,它的插入和删除操作比 ArrayList 更加高效,基于链表的,所以随机访问的效率要比 ArrayList 差。 二、数据结构 包含了 first 和 last 两个指针(Node)。Node 中包含了上一个节点 阅读全文
posted @ 2017-06-09 11:20 牛哥学coding 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 一、概述 动态数组,容量能动态增长,元素可以为null,用数组存储,非线程同步(vector线程同步) 每个 ArrayList 实例都有一个容量,该容量是指用来存储列表元素的数组的大小,自动增长(默认初始大小为10,然后递增式大约1.5倍增长)会带来数据向新数组的重新拷贝,因此,如果可预知数据量的 阅读全文
posted @ 2017-06-09 11:08 牛哥学coding 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 一、概述 HashMap 是非线程安全的,在不考虑性能问题的时候,我们的解决方案有 Hashtable 或者Collections.synchronizedMap(hashMap),这两种方式基本都是对整个 hash 表结构做锁定操作的,这样在锁表的期间,别的线程就需要等待了,无疑性能不高。 二、数 阅读全文
posted @ 2017-06-09 09:59 牛哥学coding 阅读(165) 评论(0) 推荐(0) 编辑