1.Map系列
LinkedHashMap也是一个HashMap,但是内部维持了一个双向链表,其实基本上和HashMap差不多.
public class LinkedHashMap extends HashMap
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap
Map主要用于存储健值对,根据键得到值,因此不允许键重复,但允许值重复。
Hashmap 是一个 最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null;允许多条记录的值为Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力.
Hashtable 与 HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtale在写入时会比较慢。
LinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的.在遍历的时候会比HashMap慢。
TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的.
2.ArrayList和LinkedList的大致区别
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
这一点要看实际情况的。若只对单条数据插入或删除,ArrayList的速度反而优于LinkedList。但若是批量随机的插入删除数据,LinkedList的速度大大优于ArrayList. 因为ArrayList每插入一条数据,要移动插入点及之后的所有数据。 这一点我做了实验。在分别有200000条“记录”的ArrayList和LinkedList的首位插入20000条数据,LinkedList耗时约是ArrayList的20分之1。
4.查找操作indexOf,lastIndexOf,contains等,两者差不多。
5.随机查找指定节点的操作get,ArrayList速度要快于LinkedList.
分享到:
相关推荐
中英文翻译数据集百万数据集合中英文翻译数据集百万数据集合中英文翻译数据集百万数据集合中英文翻译数据集百万数据集合中英文翻译数据集百万数据集合中英文翻译数据集百万数据集合中英文翻译数据集百万数据集合中...
给定含有n个元素的多重集合S,用分治法设计并实现在多重集合中找众数及其重数的算法,要求算法的时间复杂性在最坏情况下不超过O(nlogn)。 在多重集合中找众数及其重数问题描述:每个元素在S中出现的次数称为该元素的...
泛型集合解释的非常好泛型集合泛型集合泛型集合解释的非常好泛型集合泛型集合泛型集合解释的非常好泛型集合泛型集合泛型集合解释的非常好泛型集合泛型集合
C# 正则表达式 集合 C# 正则表达式 集合 C# 正则表达式 集合
4)打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。 3、编写程序练习Map集合的基本使用: 1)创建一个只能容纳String对象的...
本代码功能主要实现集合中,合并有相同元素的集合,最后留下没有交集的集合. 请多多指导!
Java SE程序 集合中判断对象相等Java SE程序 集合中判断对象相等Java SE程序 集合中判断对象相等Java SE程序 集合中判断对象相等Java SE程序 集合中判断对象相等Java SE程序 集合中判断对象相等Java SE程序 集合中...
js事件集合js事件集合事件集合事件集合事件集合,js事件集合,js事件集合
户型集合户型集合户型集合户型集合户型集合户型集合
java泛型集合 java集合 集合 java Collection 排序 集合排序
Java中的集合
在.NET FCL为我们提供了很多集合类型,是编程中非常有力的工具。泛型集合主要在 System.Collections.Generic名称空间中,而非泛型集合主要在System.Collections,首先抛出 结论:如果在C#2.0版本以上,尽量使用泛型...
本文实例讲述了python判断一个集合是否包含了另外一个集合中所有项的方法。分享给大家供大家参考。具体如下: >>> L1 = [1, 2, 3, 3] >>> L2 = [1, 2, 3, 4] >>> set(L1).difference(L2) set([ ]) >>> set(L2)....
java中集合排序
输入数组A,B,E(全集),输入数据时要求检查数据是否重复(集合中的数据要求不重复),要求集合A,B是集合E的子集。 以下每一个运算都要求先将集合C置成空集。 (2)二个集合的交运算:把数组A中元素逐一与数组B中...
Scala中集合的使用 大学生 1. List 列表的使用 2. Set 集合的使用 3.Map 映射的使用 4. 元组的使用
包含许多集合操作的类,java的的集合都有,然后,还有ppt做为说明!初学者很合适的!
现代的集合框架主要由大量的接口,抽象类还有具体的类组成,而这里接口就是规范,而抽象类为框架提供了扩展的可能性,同时那些实现了一些功能的具体类为开发者提供了强有力的工具。
高等数学公式集合高等数学公式集合高等数学公式集合高等数学公式集合高等数学公式集合高等数学公式集合高等数学公式集合
智能文案数据集合智能文案数据集合智能文案数据集合智能文案数据集合智能文案数据集合智能文案数据集合智能文案数据集合智能文案数据集合智能文案数据集合智能文案数据集合智能文案数据集合智能文案数据集合智能文案...