Java集合(list,Set,Map)集合
2017-09-23 09:13
381 查看
一、List:、有顺序以线性方式存储,可以存放重复对象
线程安全方法:List list = Collections.synchronizedList(new LinkedList(...));
LinkedList:双向链表实现存储 索引数据慢插入数度较快 线程不安全(比安全性能好)
ArrayList:数组方式存储数据 索引数据快插入数据慢 线程不安全
Vector:数组方式存储数据 索引数据快插入数据慢 线程安全
Stack:继承自Vector,实现一个后进先出的堆栈
二、Set:无顺序,不包含重复的元素
HashSet:为快速查找设计的Set。存入HashSet的对象必须定义hashCode()。
TreeSet: 保存次序的Set, 底层为树结构。使用它可以从Set中提取有序的序列。
LinkedHashSet:具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。
三、Map:键必须是唯一
同步方法:Map m = Collections.synchronizedMap(new TreeMap(...));
Hashtable:基于散列表的实现 允许空键空值 线程安全
HashMap:基于散列表的实现 允许空键空值 线程不安全 (与Hashtable基本一致)
TreeMap: 基于红黑树数据结构的实现 不允许空键空值 线程不安全
WeakHashMap:改进的HashMap,它对key实行“弱引用”,如果一个key不再被外部所引用,那么该key可以被GC回收。
在除需要排序时使用TreeSet,TreeMap外,都应使用HashSet,HashMap,因为他们的效率更高。
线程安全方法:List list = Collections.synchronizedList(new LinkedList(...));
LinkedList:双向链表实现存储 索引数据慢插入数度较快 线程不安全(比安全性能好)
ArrayList:数组方式存储数据 索引数据快插入数据慢 线程不安全
Vector:数组方式存储数据 索引数据快插入数据慢 线程安全
Stack:继承自Vector,实现一个后进先出的堆栈
二、Set:无顺序,不包含重复的元素
HashSet:为快速查找设计的Set。存入HashSet的对象必须定义hashCode()。
TreeSet: 保存次序的Set, 底层为树结构。使用它可以从Set中提取有序的序列。
LinkedHashSet:具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。
三、Map:键必须是唯一
同步方法:Map m = Collections.synchronizedMap(new TreeMap(...));
Hashtable:基于散列表的实现 允许空键空值 线程安全
HashMap:基于散列表的实现 允许空键空值 线程不安全 (与Hashtable基本一致)
TreeMap: 基于红黑树数据结构的实现 不允许空键空值 线程不安全
WeakHashMap:改进的HashMap,它对key实行“弱引用”,如果一个key不再被外部所引用,那么该key可以被GC回收。
在除需要排序时使用TreeSet,TreeMap外,都应使用HashSet,HashMap,因为他们的效率更高。
相关文章推荐
- JAVA集合的认识[Set,List,Map]
- java 中list,set,map集合的用法和区别
- Java集合概述Set、List、Map
- 【转帖】map,set,list,等JAVA中集合解析 - Java - cjw的资料
- java基础集合框架——List、Set、Map概述(java集合一)
- Java之数组array和集合list、set、map
- java 常用集合list与Set、Map区别及适用场景总结
- Java list-set-map集合
- Java:集合,Array、Collection(List/Set/Queue)、Map的遍历,比如:ArrayList,LinkedList,HashSet,HashMap
- map,set,list,等JAVA中集合解析
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- 【java随记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- java集合之Map键值与Set、List、数组转换
- java 数据集合(set、map、list)
- java集合的相互转化(map,set,list,array)
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- MAP,SET,LIST,等JAVA中集合解析(了解)
- Java基本概念:集合类(Collection)List/Set/Map... 的区别和联系
- Java集合Set、List、Map的遍历方法
- java 常用集合list与Set、Map区别及适用场景总结