java集合简析
来源:互联网 发布:伤感网络红歌大全 编辑:程序博客网 时间:2024/06/05 05:35
基本关系
- Collection
--List
------ ArrayList
------ LinkedList
------Vector
------Stack
------------Set
- Map
--HashMap
--HashTable
--WeakHashMap
分析
Collction
List和Set同样继承Collection类。List是顺序表,根据下标访问,允许出现相同的值;Set不允许相同的值出现,常用来去除相同值的操作。
List:
ArrayList用数组储存,非同步,效率较高。常用于需要经常按下标查找的情况。在元素数目超过目前数组长度时,自动增长50%。
LinkedList使用链表结构存储数据,因此在插入删除操作中性能表现好,非同步,效率较高。常用于需要经常插入删除的情况下。
Vector和ArrayList都是数组结构的,但Vector是同步的,与此同时,Vector也损失了一部分效率。Vector在多个线程同时修改时,会抛出ConcurrentModificationException异常。
Stack继承Vector,实现了一个先进后出的堆栈。Stack刚创建时是个空栈。
Set:
Set不能传入相同的值,通常用于去除目录里重复的值。
Map
Map提供key到value的映射。通常使用是通过key来获取到value的值,因此一个Map中不能出现相同的key,每个key也只能映射一个value。
HashMap,非同步的,允许key或者value出现null。迭代子操作时间开销和HashMap的容量成正比。
HashTable,同步的,key和value都不能出现空值。查找时间是常数。通过initial capacity和load factor调整性能。
WeakHashMap,改进的HashMap,使用弱引用,也就是当key不在被外部引用时,该key可以被回收。
同步的:Vector,HashTable
非同步的: ArrayList,LinkedList,HashMap,WeakHashMap
注:Collections类可以提供以上几个类的同步解决方法,提供的同步方法多于自带同步的那两种。
0 0
- java集合简析
- Java集合框架简析
- 简说JAVA集合类
- Java集合详析总结
- Java集合:集合框架
- java集合---set集合
- JAVA 集合 的 集合
- 【集合】Java集合对比
- JAVA集合-Map集合
- JAVA集合-Set集合
- JAVA集合-List集合
- java集合------Map集合
- Java集合----List集合
- Java集合----Set集合
- Java集合----Map集合
- java集合类结构梳理及用法简析
- JAVA集合
- JAVA集合
- MongoDB整合Spring
- P51 第10题
- C#控制台控制台将一个文件夹中的所有txt文件中的数据读取出来
- 三个月选择性提升编程能力+机器人控制能力挑战
- 利用格式化输入输出打印出输入的字符
- java集合简析
- 给程序打上编译时间
- android开发之多点触摸交互处理
- SQL Update多表联合更新的方法
- effective c++ 笔记 (5-8)
- Android开发教程--listview异步加载图片错位问题解决
- 单向链表 双向链表
- JavaScript常见面试题
- Codeforces Round #297 (Div. 2) -- (A,B,C)