集合
先放一张图片,这张图片包含此博客所有内容
集合根据应用的不同大致可以分为两大类,单链集合和双链集合
1.1 单链集合(Collection)
Collection接口是Collection层次结构的根接口,其子接口应用比较广泛的是List(有序的Collection)和Set(不包含重复元素的Collection)
1.1.1 有序的Collection(List)
List接口的子类应用比较广的有三种LinkedList、ArrayList、Vector
LinkedList: 线程不安全,底层链表实现,增删快。
ArrayList: 线程不安全,底层数组实现,查改快。
Vector: 线程安全,速度慢。
注:一般使用ArrayList
1.1.2 不重复的Collection(Set)
Set接口的子类应用比较广的有三种HashSet、LinkedHashSet、TreeSet
HashSet: 底层依靠哈希算法
LinkedHashSet: 底层依靠链表实现
TreeSet: 依靠二叉树实现,排序快
注:一般使用HashSet
1.2 双链集合(Map)
将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
Map接口的子类应用比较广的有三种HashMap、LinkedHashMap、TreeMap
HashMap: 底层依靠哈希算法
LinkedHashMap: 底层依靠链表实现
TreeMap: 依靠二叉树实现,排序快
注:一般使用HashMap,Map和Set接口有些类似,因为Set接口是基于Map接口实现的