集合(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是否存在
本文深入解析Java集合框架,涵盖Collection、Set、List、Map等核心类的特性与使用方法,对比不同集合类的优劣,指导开发者根据场景选择最适合的数据结构。
362

被折叠的 条评论
为什么被折叠?



