一、Vector
1、集合的体系:
—| Collection 单例集合的根接口
——| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复。
———| ArrayList ArrayList 底层是维护了一个Object数组实现的。 特点: 查询速度快,增删慢。
———| LinkedList LinkedList 底层是使用了链表数据结构实现的, 特点: 查询速度慢,增删快。
———| Vector(了解即可)
特点及原理:底层也是维护了一个Object的数组实现的,实现与ArrayList是一样的,但是Vector是线程安全的,操作效率低。
——| Set 如果是实现了Set接口的集合类,具备的特点: 无序,不可重复。
2、笔试题:说出ArrayLsit与Vector的区别?
1)相同点: ArrayList与Vector底层都是使用了Object数组实现的。
2)不同点:
a)ArrayList是线程不同步的,操作效率高。 Vector是线程同步的,操作效率低。
b)ArrayList是JDK1.2出现,Vector是jdk1.0的时候出现的。
c)Vector已经基本被ArrayList取代。
3、Vector的方法:
二、Set
1、集合的体系:
—| Collection 单例集合的根接口
——| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复。
———| ArrayList ArrayList 底层是维护了一个Object数组实现的。 特点: 查询速度快,增删慢。
———| LinkedList LinkedList 底层是使用了链表数据结构实现的, 特点: 查询速度慢,增删快。
———| Vector(了解即可) 底层也是维护了一个Object的数组实现的,实现与ArrayList是一样的,但是Vector是线程安全的,操作效率低。
——| Set 如果是实现了Set接口的集合类,具备的特点: 无序,不可重复。
2、Set集合的无序: 添加元素 的顺序与元素出来的顺序是不一致的。
由于Set中的方法和List中的方法完全一样在此就不做过多的介绍了,可以参考“集合之List(1)、集合之List(1)”。