集合
PursueDreamZ
这个作者很懒,什么都没留下…
展开
-
ArrayList的特性
ArrayList分析: 1). ArrayList实际上是通过一个数组去保存数据的,当我们构造ArrayList时,如果使用默认构造函数,ArrayList的默认容量大小是10。 2). 当ArrayList容量不足以容纳全部元素时,ArrayList会自动扩张容量,新的容量 = 原始容量 + 原始容量 / 2。 3). ArrayList的克隆函数,即是将全部元素克隆到一个数...原创 2018-02-24 14:04:43 · 4741 阅读 · 0 评论 -
LinkedList的特性
LinkedList分析: 1). LinkedList是通过双向链表去实现的。 2). 从LinkedList的实现方式中可以看出,它不存在容量不足的问题,因为是链表。 3). LinkedList实现java.io.Serializable的方式。当写入到输出流时,先写入“容量”,再依次写出“每一个元素”;当读出输入流时,先读取“容量”,再依次读取“每一个元素”。 ...原创 2018-02-24 14:07:31 · 4097 阅读 · 0 评论 -
ArrayList和LinkedList的区别
ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.一般认为对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动...原创 2018-02-24 14:12:10 · 122 阅读 · 0 评论 -
Map集合的特性
Map分析: 1. Map提供了一些接口分别用于返回键集、值集以及键值映射关系集。 keySet()用于返回键的Set集合; values()用于返回值的Set集合; entrySet()用于返回键值集的Set集合,键值信息封装在Entry中。 2. Map还对外提供了“获取键”、“根据键获取值”、“是否包含某个键或值”等等方法。 3. Map...原创 2018-02-24 14:13:29 · 694 阅读 · 0 评论 -
HashMap集合的特性
HashMap的分析: 1、HashMap是可以序列化的。是线程不安全的。 2、HashMap的底层主要是基于数组和链表实现的,它之所以有相当快的查询速度主要是因为它是通过计算散列码来决定存储位置的。 3、HashMap中主要是通过key的hashCode来计算hash值,然后通过hash值选择不同的数组来存储。只要hashCode相同,计算出来的hash值就一样,如果存储对象多了,就有可能不同的...原创 2018-02-24 14:15:22 · 2588 阅读 · 0 评论 -
HashTable的特性
HashTable分析: 1、HashTable是可以序列化的。是线程安全的。HashTable之所以是线程安全的,是因为方法上都加了synchronized关键字。 2、Hashtable的遍历方式比较简单,一般分两步: 1). 获得Entry或key或value的集合; 2). 通过Iterator迭代器或者Enumeration遍历此集合。 3...原创 2018-02-24 14:17:03 · 1338 阅读 · 0 评论 -
HashMap和HashTable的区别
HashMap和HashTable的区别: 先说相同点是: HashMap和HashTable都是存储“键值对”的散列表,而且都是采用拉链法来实现的。存储的思想都是:通过table数组存储,数组的每个元素都是一个Entry,而一个Entry就是一个单项链表,Entry链表中的每个节点都保存了key-value数据。 不同点是: 1、线程安全不同:HashMap的方法是非同步的,若要在多线...原创 2018-02-24 14:19:42 · 221 阅读 · 0 评论 -
TreeMap的特性
TreeMap分析: 1、TreeMap是一个有序的key-value集合,它内部是通过红-黑树实现的,它支持序列化 。 2、TreeMap的存储结构是按照红-黑树存储的,每个key-value对也存储在一个Entry里,只不过这个Entry和前面HashMap或者HashTable中的Entry不同,TreeMap的Entry其实是红-黑树的一个节点。 3、TreeMap的遍历方式一般分为两...原创 2018-02-24 14:20:53 · 4118 阅读 · 1 评论