java的集合

原创
2017/07/26 22:20
阅读数 26

###图 JAVA集合

有图可以看出JAVA集合可以分为list、set、map

LIST

Collection<--List<--Vector

Collection<--List<--ArrayList

Collection<--List<--LinkedList

List为有序的集合

ArrayList 是个数组实现的具有查找的优势可以直接指定坐标 和LinkedList一样,ArrayList也是非同步的(unsynchronized)

Iterator定义了个变量内部实际是数据下标移动的

LinkedList是个链表的实现有删除和增加的优势

注意LinkedList没有同步方法。如果多个线程同时访问一个List,则必须自己实现访问同步。一种解决方法是在创建List时构造一个同步的List: List list = Collections.synchronizedList(new LinkedList(…));

Vector是个线程安全的集合

当一个Iterator被创建而且正在被使用,另一个线程改变了Vector的状态(例如,添加或删除了一些元素),这时调用Iterator的方法时将抛出ConcurrentModificationException,因此必须捕获该异常

###SET Collection<--Set<--HashSet

Collection<--Set<--HashSet<--LinkedHashSet

Collection<--Set<--SortedSet<--TreeSet

list里面的数据是具有唯一性的

set的实现是依据map的key实现的

HashSet允许有个NULL值存在 HashSet是HashMap实现的 这里面是个拉链

LinkedHashSet基于LinkedHashMap实现的 存的是一个拉链但是又维护了一个链表

TreeSet是TreeHashMap实现的底层是一个红黑树

MAP

HashMap

HashTable 线程安全的

LinkedHashMap

TreeHashMap

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部