java.util.rt.*

1. java.util.HashMap
散列表,主要是以离散的hash值换算数组下标,如果对象的hash值都不一样,
这样可以使对象更离散,这样就不会有多个对像坐落在一个坐标上,如果有多
个对象坐落在一个坐标上,那么其取值的时候就会有一个循环的过程,否则
都是1对1的结构数据,其存取速度很快.[影响性能参数captity,loadfactory]
2. java.util.LinkHashMap
双向列表,保持记录插入的顺序,accessOrder:false,默认插入排序,也就是
先插入的排在前面,后插入的排在后面,也可以按照查询排序.实际的查询排序。
[影响性能参数实际数据量]
3. java.util.EnumMap
这是一个很有趣的Map,主要是以enum作为key的高效实现,使用数组的index,实现简单.
灰常高效,绝对不会重叠,其实以前使用string作为key的方式可以改为Enum作为key更高效,
只是需要再声明这个类(enum).
4. java.util.HashTable
这是一个同步的HashMap,不过其每一步都使用同步,效率很低,不推荐使用.
附. java.util.WeakHashMap
和Hashmap差不多,主要是key以对象,有利于回收,一般很少使用.
5. java.util.TreeMap
一种基于红黑树的实现,升序排列keys.log(n)的时间复杂度,get/put/remove操作.
get方法,如查指定比较器,那么从root节点开始比较,如果大于往右,小于往左。
实际上也是一个双向列表。其性能不是很好.[以root为基标]
6. java.util.ArrayList
允许重复的值插入,可以获取subList,其操作会操作原先的ArrayList.所以一般操作为添加等操作在
ArrayList,而subList只是生成一个视图,最终还是操作ArrayList.
7. java.util.LinkedList
双向列表允许一致的名称方法来get/remove/insert操作元素在开始和结束的list.双向列表.
在LinkedList、你的随机元素访问缓慢(O(N)),但是添加和删除都快(O(1)。ArrayList,反过来也是如此:
随机元素访问快(O(N)),但是添加和删除元素更慢。
8. java.util.HashSet
无序的集合,不允许key重复,这里的添加,删除等操作和HashSet本身大小有关,如果数据太大,其性能会很慢.
这里使用HashMap实现的,如果插入重复的值,不变.
9. java.util.LinkedHashSet
与HashSet一致,主要是添加了两向列表.
10. java.util.TreeSet
由TreeMap实现,有序的set.
11. java.util.Vector
线程安全的List.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值