- List的三个子类的特点
ArrayList底层结构是数组,查询快,增删慢。
LinkedList底层结构是链表型,增删快,查询慢。
Vector底层结构是数组,线程安全,增删慢,查询慢。
- List、Map、Set的区别
List和Set是存储单例数据的集合,Map是存储键和值这样的双列数据的集合;List中存储的数据是有顺序并允许重复的;Map中存储的数据是没有顺序且键值是不允许重复的;Set中的存储数据是没有顺序且不允许重复的,但元素在集合中的位置由元素的hashcode决定,位置是固定的(Set集合根据hashcode来进行数据存储,所以位置是固定的,但是位置不是用户可以控制的,所以对于用户来说set中的元素还是无序的);
- List、Map、Set的实现类
List接口有三个实现类:
LinkedList:基于链表实现(散乱,不稳定),增删快,查询慢;ArrayList:基于数组实现,非线程安全,增删慢,查询快;Vector:基于数组实现,线程安全,增删慢,查询慢;
Map接口有四个实现类:
HashMap:基于hash表实现,非线程安全,支持键值都为null;HashTable:基于hash表实现,线程安全,不支持键null和null值;
LinkedHashMap:是