Collection
Collection
集合层次结构中的根接口。Collection表示一组对象,这些对象也称为Collection的元素。一些Collection允许有重复的元素,而另一些则不允许。一些Collection是有序的,而另一些则是无序的。
添加功能
方法声明 | 功能描述 |
---|
add() | 添加元素 |
addAll() | 添加一个集合的元素 |
删除功能
方法声明 | 功能描述 |
---|
remove() | 删除元素 |
removeAll() | 删除一个集合的元素 |
clear() | 清空集合 |
判断功能
方法声明 | 功能描述 |
---|
contains() | 判断集合是否包含指定的元素 |
containsAll() | 判断一个集合是否包含一个集合的元素 |
isEmpty() | 判断集合是否为空 |
获取功能
方法声明 | 功能描述 |
---|
size() | 获取集合的长度 |
retainAll() | 取两个集合的交集 |
其他功能
方法声明 | 功能描述 |
---|
toArray() | 把集合转成数组,可以实现集合的遍历 |
iterator() | 迭代器,集合的专用遍历方式 |
List
List接口是Collection接口的一个子接口,List集合的特性是:有序,可重复,元素有索引,List接口有三个实现类
- ArrayList:底层数据结构是数组,查询快,增删慢,非线程安全,效率高,数据增长为原来的50%
- Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低,数据增长为原来的一倍
- LinkedList:底层数据结构是链表,查询慢,增删快,非线程安全,效率高
List接口新增加的方法
方法声明 | 功能描述 |
---|
set(int index, E element) | 修改指定位置处的元素 |
get(int index) | 获取指定位置的元素 |
indexOf(Object o) | 返回指定元素在集合中第一次出现的索引 |
lastIndexOf(Object o) | 返回指定元素在集合中最后一次出现的索引 |
subList(int fromIndex, int toIndex) | 返回fromIndex位置到toIndex位置的子集合 |
ArrayList
方法声明 | 功能描述 |
---|
ArrayList(Collection c) | 通过一个集合创建ArrayList对象 |
ArrayList(int initialCapacity) | 指定集合大小的构造方法 |
LinkedList
与ArrayList基于数组结构不同的是,LinkedList是基于链表的结构,因此具有链表特有的功能
方法声明 | 功能描述 |
---|
addFirst() | 在集合的第0个位置添加元素 |
addLast() | 在集合的最后位置添加元素 |
getFirst() | 获取集合的第0个元素 |
getLast() | 获取集合的最后一个元素 |
removeFirst() | 删除集合的第0个元素 |
removeLast() | 删除集合的最后一个元素 |
Vector
Set
Set接口是List接口的另一个子接口,Set集合的元素特点是无序,唯一的。
- HashSet:底层数据结构是哈希表,由hashCode()和equals()保证元素唯一性
- LinkedHashSet:底层是哈希表和链表,由链表保证元素有序,由哈希表保证元素唯一
- TreeSet:底层数据结构是红黑树(自平衡的二叉树),由自然排序和比较器排序保证元素的排序;根据比较的返回值是否是0来证元素唯一性
HashSet
HashSet 是一个没有重复元素的集合。 它是由HashMap实现的(HashSet中大量调用了HashMap的方法,其内部封装了一个HashMap ),不保证元素的顺序,而且HashSet允许使用 null 元素。
LinkedHashSet
TreeSet
元素是无序(存入和取出的顺序不一定一致),元素不可以重复,因为该集合体系没有索引。Set集合的功能Collection是一致的,取出只有一种方式 就是迭代器
Map
方法声明 | 功能描述 |
---|
put(K key, V value) | 有添加和替换功能 |
putAll(Map m) | 添加一个Map的元素 |
clear() | 清空集合 |
remove(Object key) | 根据键删除一个元素 |
containsKey() | 判断集合是否包含指定的键 |
containsValue() | 判断集合是否包含指定的值 |
isEmpty() | 判断集合是否为空 |
get(Object key) | 根据键获取值 |
keySet() | 获取所有的键 |
values() | 获取所有的值 |
entrySet() | 获取所有的Entry |
size() | 获取集合元素的个数 |
HashMap
LinkedHashMap
TreeMap
集合的遍历
集合的排序
Collections
Arrays