集合(Collection)
依赖
java.util.*
概述
用于存储多个同类的对象,集合分为Map、Set、List三大类,Set和List是Collection的子类
类别 | 功能 | 说明 |
---|---|---|
set | 集合 | 无序,无重复 |
list | 列表 | 有序,可重复 |
map | 字典 | key-value型,key不可重复 |
关系图
如:LinkedList的方法包括:Collection方法+List方法+LinkedList方法
Collection
CollectionType<T> var = new CollectionType<T>();
Collection是Set和List的父类
常用方法 | 说明 | 返回类型 | 返回值 |
---|---|---|---|
add(元素) | 将元素添加至集合 | void | |
remove(元素) | 从集合中删除该元素 | boolean | 该元素是否存在 |
contains(元素) | 集合是否包含该元素 | boolean | |
size() | 查看集合中的元素数量 | int | |
toArray(T[]) | 将集合转换为指定(T)类型 | T[] | |
clear() | 清空该集合 |
Set
Set<T> var = new SetType<T>();
set中的元素不可重复,无序(结果与添加顺序不同)元素不可为null
HashSet
优点:查找快速
需要重写equals(确定元素不重复)和hashCode(hash排序)方法
TreeSet
set无序,TreeSet可排序
重写compareTo方法,以该方法排序,默认以Ascii增序
List
List<T> var = new ListType
list中的元素可重复,有序,位置从0开始,元素可为null
常用方法 | 说明 | 返回类型 | 返回值 |
---|---|---|---|
add(位置, 元素) | 未指定位置,则添加至末尾 | ||
get(位置) | 获取指定位置的元素 | T | |
indexOf(元素) | 查找该元素第一次出现的位置 | int | |
lastIndexOf(元素) | 查找该元素最后一次出现的位置 | int |
ArrayList
优点:查询列表元素
LinkedList
优点:适合增删改列表元素
Map
Map <Tkey, Tvalue> map = new MapType<Tkey,Tvalue>();
键值对(key-value),键不可重复,可通过key获得value,key不得为null
常用方法 | 说明 | 返回类型 | 返回值 |
---|---|---|---|
put(key,value) | 添加一条记录 | ||
containsKey(key) | 该key是否存在 | boolean | |
containsValue(value) | 该value是否存在 | boolean | |
get(key) | 获得该key对应的value | Tvalue | key不存在则返回null |
remove(key) | 移除key对应的记录 | boolean | 返回key对应的value,key不存在则返回null |
size() | 查看字典中有多少记录 | ||
clear() | 清空字典 |
get和containsKey都会在key不存在时返回null,但get返回null可能是因为key对应的value为null(key,null),不能确定该key是否存在