集合
1. Set 与 List 的区别?
- 都是Collection接口的子接口。
- Set是不重复的集合类,Set中的元素都是唯一的。但是Set中的元素是无序的,不能通过下标访问。
- List中的元素是可以重复的,同时也是有序的。
2. 常用的List?
- ArrayList,LinkedList,Vector,Stack
- ArrayList底层是数组实现的,是一个动态数组,随机访问快。
- LinkedList底层是链表,插入删除较快。
3. ArrayList与Vector区别?
- 基本相同,都是List的实现类。底层都是动态数组。
- 其中Vector是线程同步的,ArrayList默认不是线程同步的。
- 让Array线程同步。
- List list = Collection.synchronizedList(new ArrayList(…)); //线程同步,也就是一个时刻只有一个线程去访问。
4.HashMap 与 HashTable的区别?
- 都是Map接口的实现类
- HashTable线程同步,HashMap不是线程同步。
- 让HashMap线程同步方法:
1
|
|
- HashTable 的key和value都不允许为空。