Collection 和 Collections的区别。
- Collections是个Java.util下的类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
- Collection是个java.util下的接口,它是各种集合结构的父接口。
ArrayList和Vector的区别。
- 同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
- 数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
HashMap和Hashtable的区别
- 历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
- 同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
- 值:只有HashMap可以让你将空值作为一个表的条目的key或value
ArrayList Vector LinkedList 区别与用法
- 存储方式:ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,LinkedList使用双向链表实现存储,
- 检索方式插入方式:ArrayList 和Vector都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!
- 同步性:arraylist,linkedlist是非同步的,是线程不安全的,vector是同步的,线程安全的