集合中的接口
Collection接口:该接口是最基本的集合接口,一个Collection代表一个元素
List接口:是有序集合,允许有相同的元素,用户可以使用索引访问List中的元素,与数组类型
Set接口:不能包含重复的元素,SortedSet是按升序排列的Set集合
Map接口:键值对存储,不能包含重复的键,SortedMap是一个按升序排列的Map集合
接口实现类
List:
ArrayList:底层是数组,查询快,修改慢,实现了可变大小的数组
LinkedList:底层是链表,查询慢,修改快,提供addFirst(),addLast(),getFirst(),getLast(),removeFirst(),removeLast()等方法,能把它当成栈或队列来使用
Set:
HashSet:底层是HashMap来保存所有元素
TreeSet:实现了Set和SortedSet接口,是一个有序的Set
Map:
HashMap:底层是数组+链表,键值对存储
List集合
ArrayList类
ArrayList类提供了快速的基于索引的成员访问方式,对尾部成员的增加和删除支持较好,向ArrayList中插入与删除元素的速度相对较慢
ArrayList():构造一个初始容量为10的空列表
ArrayList(Collection<? extends E> c):构造一个包含指定Collection的元素列表
LinkedList类
LinkedList类采用链表结构保存对象,便于向集合插入或删除元素,需要频繁向集合插入或删除元素时,使用LinkedList类比ArrayList类效果高,但LinkedList类随机访问元素的速度则相对较慢
Set集合
HashSet类
HashSet类是按照哈希算法来存储集合中的元素,使用哈希算法可以提高集合元素的存储速度,当向Set集合中添加一个元素时,HashSet会调用该元素的hashCode()方法,获取其哈希码,然后根据这个哈希码计算出该元素在集合中的存储位置
HashSet():构造一个新的空Set集合
HashSet(Collection<? extends E> c):构造一个包含指定Collection的元素列表
TreeSet类
TreeSet实现了SortedSet和Set接口,可以实现对集合进行自然排序
TreeSet只能对实现了Comparable接口的类对象进行排序
Map集合
是一种键值对集合
HashMap类按哈希算法来存取键对象
TreeMap类可以对键对象进行排序
Collections类
sort():升序排序
reverse():降序排序
copy():复制
fill():填充