Java“集合”框架 Java.util.*包
Collection(接口)
List接口
- ArrayList(集合类)
- 创建方式
- new ArrayList();
- 没有指定长度,默认长度为0
- new ArrayList(8);
- 有指定长度,指定长度为8
- new ArrayList();
- 存储结构
- ArrayList以数组的方式进行存储
- 连续的内存空间更擅长遍历查找
- 特点
- 无序的,可以重复存储
- 方法
- 添加元素
- 当前集合.add(指定元素)
- 功能:将指定元素添加至当前集合末尾
- 当前集合.add(指定下标位置,指定元素)
- 功能:将指定元素添加至当前集合的指定下标位置
- 当前集合.add(另一个集合对象)
- 功能:将另一个集合对象中的所有元素添加至当前集合中
- 当前集合.add(指定下标位置,另一个集合对象)
- 功能:将另一个集合对象中的所有元素添加到当前集合的指定下标位置
- 当前集合.add(指定元素)
- 查找元素
- 当前集合.contains(指定元素)
- 功能:用于判断当前字符串中是否含有指定字符串
- 返回结果:boolean类型的true或false
- 当前集合.get(指定下标)
- 功能:根据指定下标获取当前集合中指定下标位置的元素
- 当前集合.size()
- 功能:获取当前集合中元素的个数
- 当前集合.indexOf(“指定元素”)
- 功能:在当前集合中获取指定元素在该集合中第一次出现的位置下标
- 当前集合.lastindexOf(“指定元素”)
- 功能:在当前集合中获取指定元素在该集合中最后一次出现的位置下标
- 当前集合.isEmpty()
- 功能:判断当前集合是否为空
- 返回:boolean类型的true或false
- 当前集合.contains(指定元素)
- 删除元素
- 当前集合.clear()
- 功能:清空集合中所有元素
- 当前集合.remove(指定下标)
- 功能:删除当前集合中指定下标位置的元素
- 当前集合.remove(“指定元素”)
- 功能:删除当前集合中的指定元素
- 当前集合.removeAll(删除的元素集合)
- 功能:在当前集合中,按照需要删除的元素集合,对当前集合进行批量删除
- 当前集合.clear()
- 修改元素
- 当前集合.set(指定下标,新元素)
- 功能:在当前集合中,将指定下标位置的元素替换成新元素
- 当前集合.set(指定下标,新元素)
- 截取元素
- 当前集合.subList(开始下标,结束下标)
- 功能:按照起始下标对当前集合进行截取
- 下标范围:左闭右开
- 当前集合.subList(开始下标,结束下标)
- 转换
- 当前集合.toString()
- 功能:将当前集合转换为字符串类型
- 当前集合.toArray()
- 功能:将当前集合转换为Object类型的数组
- 当前集合.toArray(new String[当前集合.size])
- 功能:将当前集合转换成指定类型指定长度的数组
- 当前集合.toString()
- 添加元素
- 方法特点
- 每个方法都没有加入Synchronized
- 线程不安全
- 性能效率较高
- 创建方式
- Vector(集合类)
- 创建方式
- new Vector();
- 没有指定长度,默认值为10
- new Vector(32)
- 有指定长度,长度为32
- new Vector();
- 存储方式
- Vector以数组的方式进行存储
- 连续的内存空间更擅长遍历和查找
- 特点
- 无序的,可以重复存储
- 方法
- 添加元素
- 当前集合.add(指定元素)
- 功能:在当前集合末尾添加指定元素
- 当前集合.add(指定下标,指定元素)
- 功能:在当前集合的指定下标位置添加指定元素
- 当前集合.addElement(指定元素)
- 功能:在当前集合末尾添加指定元素
- 当前集合.addAll(另一个集合)
- 功能:将另一个集合中的所有元素添加至当前元素
- 当前集合.add(指定下标,另一个集合)
- 功能:将另一个集合中的所有元素添加至当前集合中指定下标位置
- 当前集合.add(指定元素)
- 查找元素
- 当前集合.contains(指定元素)
- 功能:用于判断当前字符串中是否含有指定字符串
- 返回结果:boolean类型的true或false
- 当前集合.get(指定下标)
- 功能:根据指定下标获取当前集合中指定下标位置的元素
- 当前集合.indexOf(“指定元素”)
- 功能:在当前集合中获取指定元素在该集合中第一次出现的位置下标
- 当前集合.lastindexOf(“指定元素”)
- 功能:在当前集合中获取指定元素在该集合中最后一次出现的位置下标
- 当前集合.size()
- 功能:获取当前集合中元素的个数
- 当前集合.capacity()
- 功能:获取当前集合容量
- 当前集合.isEmpty()
- 功能:判断当前集合是否为空
- 返回:boolean类型的true或false
- 当前集合.elementAt()
- 功能:根据下标返回元素,作用与get等同
- 当前集合.contains(指定元素)
- 删除元素
- 当前集合.clear()
- 功能:清空集合中所有元素
- 当前集合.remove(指定下标)
- 功能:删除当前集合中指定下标位置的元素
- 当前集合.remove(“指定元素”)
- 功能:删除当前集合中的指定元素
- 当前集合.removeAll(删除的元素集合)
- 功能:在当前集合中,按照需要删除的元素集合,对当前集合进行批量删除
- 当前集合.clear()
- 修改元素
- 当前集合.set(指定下标,新元素)
- 功能:在当前集合中,将指定下标位置的元素替换成新元素
- 当前集合.setElement(”新元素“,指定下标)
- 功能:在当前集合中,将指定下标位置的元素替换成新元素,作用与set相同
- 当前集合.set(指定下标,新元素)
- 截取元素
- 截取元素
- 当前集合.subList(开始下标,结束下标)
- 功能:按照起始下标对当前集合进行截取
- 下标范围:左闭右开
- 当前集合.subList(开始下标,结束下标)
- 截取元素
- 转换
- 当前集合.toString()
- 功能:将当前集合转换为字符串类型
- 当前集合.toArray()
- 功能:将当前集合转换为Object类型的数组
- 当前集合.toArray(new String[当前集合.size])
- 功能:将当前集合转换成指定类型指定长度的数组
- 当前集合.toString()
- 添加元素
- 方法特点
- 每个方法都有Synchronized关键字
- 线程安全
- 性能效率较低
- 创建方式
- LinkedLink(集合类)
- 创建方式
- new LinkedList();
- LinkedList list2 = new LinkedList(listx);
- 可以在创建时,直接将另外一个List集合中的"所有元素"都添加至当前新创建的集合对象中
- 存储方式
- 内部使用双向链表的方式进行存储
- 更擅长添加、修改、删除等操作
- 特点
- 无序的,可以重复存储
- 方法
- 添加元素
- 当前集合.add(指定元素)
- 功能:在当前集合末尾添加指定元素
- 当前集合.add(指定下标,指定元素)
- 功能:在当前集合的指定下标位置添加指定元素
- 当前集合.addAll(另一个集合)
- 功能:将另一个集合中的所有元素添加至当前元素
- 当前集合.add(指定下标,另一个集合)
- 功能:将另一个集合中的所有元素添加至当前集合中指定下标位置
- 当前集合.addFirst(指定元素)
- 功能:将指定元素添加至当前集合头部
- 当前集合.addLast(指定元素)
- 功能:将指定元素添加至当前集合尾部
- 当前集合.add(指定元素)
- 查找元素
- 当前集合.contains(指定元素)
- 功能:用于判断当前字符串中是否含有指定字符串
- 返回结果:boolean类型的true或false
- 当前集合.get(指定下标)
- 功能:根据指定下标获取当前集合中指定下标位置的元素
- 当前集合.getFirst()
- 功能:获取当前集合的头部元素
- 当前集合.getLast()
- 功能:获取当前集合的尾部元素
- 当前集合.indexOf(“指定元素”)
- 功能:在当前集合中获取指定元素在该集合中第一次出现的位置下标
- 当前集合.lastindexOf(“指定元素”)
- 功能:在当前集合中获取指定元素在该集合中最后一次出现的位置下标
- 当前集合.size()
- 功能:获取当前集合中元素的个数
- 当前集合.isEmpty()
- 功能:判断当前集合是否为空
- 返回:boolean类型的true或false
- 当前集合.contains(指定元素)
- 删除元素
- 当前集合.clear()
- 功能:清空集合中所有元素
- 当前集合.remove(指定下标)
- 功能:删除当前集合中指定下标位置的元素
- 当前集合.remove(“指定元素”)
- 功能:删除当前集合中的指定元素
- 当前集合.removeAll(删除的元素集合)
- 功能:在当前集合中,按照需要删除的元素集合,对当前集合进行批量删除
- 当前集合.removeFirst()
- 功能:删除当前集合的头部元素
- 当前集合.removeLast()
- 功能:删除当前集合的尾部元素
- 当前集合.removeFirstOccurrence(指定元素)
- 功能:删除集合中第一个找到的指定元素
- 当前集合.removeLastOccurrence(指定元素)
- 功能:删除集合中最后一个找到的指定元素
- 当前集合.clear()
- 修改元素
- 当前集合.set(指定下标,新元素)
- 功能:在当前集合中,将指定下标位置的元素替换成新元素
- 当前集合.set(指定下标,新元素)
- 截取元素
- 截取元素
- 当前集合.subList(开始下标,结束下标)
- 功能:按照起始下标对当前集合进行截取
- 下标范围:左闭右开
- 当前集合.subList(开始下标,结束下标)
- 截取元素
- 转换
- 当前集合.toString()
- 功能:将当前集合转换为字符串类型
- 当前集合.toArray()
- 功能:将当前集合转换为Object类型的数组
- 当前集合.toArray(new String[当前集合.size])
- 功能:将当前集合转换成指定类型指定长度的数组
- 当前集合.toString()
- 添加元素
- 方法特点
- 每个方法都没有Synchronized关键字
- 线程不安全
- 性能效率较高
- 创建方式
set接口
- HashSet(集合类)
- 创建方式
- new HashSet()
- 存储结构
- 采用哈希(HashMap)进行存储,以一种“散列”的方式进行存储
- 方法
- 添加元素
- 当前集合.add(指定元素)
- 功能:将指定元素添加至当前集合
- 当前集合.addAll(另一个集合)
- 功能:将另一个集合对象添加至当前集合中
- 当前集合.add(指定元素)
- 删除元素
- 当前集合.clear()
- 功能:清除当前集合中的所有元素
- 当前集合.remove(指定元素)
- 功能:删除当前集合中的指定元素
- 当前集合.removeAll(需要删除的元素集合)
- 功能:对当前集合中的元素按照需要删除的元素集合进行批量删除
- 当前集合.clear()
- 查找元素
- 当前集合.comtains(指定元素)
- 功能:在当前集合中查找是否含有指定元素
- 当前集合.isEmpty()
- 功能:判断当前集合是否为空
- 当前集合.size()
- 功能哥:获取当前集合的长度
- 当前集合.comtains(指定元素)
- 克隆
- 当前集合.clone()
- 功能:快速的对当前集合进行克隆
- 当前集合.clone()
- 迭代器
- 当前集合.iterator()
- 功能:迭代器用于获取当前集合中的每一个元素
- it.hasNext()
- 判断元素是否存在
- it.next()
- 获取到该元素
- it.hasNext()
- 功能:迭代器用于获取当前集合中的每一个元素
- 当前集合.iterator()
- 转换
- 当前集合.toString()
- 功能:将当前集合转换为字符串
- 当前集合.toArray()
- 功能:将当前集合转换程Object类型的数组
- 当前集合.toArray(new String[int])
- 功能:将当前集合转换为指定类型指定长度的数组
- 当前集合.toString()
- 添加元素
- 方法特点
- 每个方法都没有加入Synchronized关键字
- 线程不安全
- 创建方式
- TreeSet(集合类)
- 创建方式
- new TreeSet()
- 存储方式
- TreeSet采用TreeMap存储,而TreeMap在底层使用了红黑树存储结构(自平衡的排序二叉树)
- treeSet集合中的所有元素,可以进行自动排序
- TreeSet采用TreeMap存储,而TreeMap在底层使用了红黑树存储结构(自平衡的排序二叉树)
- 方法
- 添加元素
- 当前集合.add(指定元素)
- 功能:将指定元素添加至当前集合中
- 中文存储时,采用字符的Unicode码
- 功能:将指定元素添加至当前集合中
- 当前集合.addAll(另一个集合)
- 功能:将另一个集合中的元素全部添加至当前集合中
- 当前集合.add(指定元素)
- 删除元素
- 当前集合.clear()
- 功能:清除当前集合中的所有元素
- 当前集合.remove(指定元素)
- 功能:删除当前集合中的指定元素
- 当前集合.removeAll(删除的元素集合)
- 功能:将当前集合中的元素按照删除的元素集合进行批量删除
- 当前集合.clear()
- 查询元素
- 当前集合.size()
- 功能:获取当前集合的长度
- headSet(指定元素)
- 获取指定元素之前的头部子集合,默认不包含指定元素
- headSet(指定元素,boolean)
- 获取指定元素之前的头部子集合,boolean值去顶是否包含指定元素
- 当前集合.contains(指定元素)
- 功能:在当前集合中查找是否含有指定元素
- 当前集合.isEmpty()
- 功能:判断当前集合是否为空
- tailSet(指定元素)
- 获取指定元素之前的尾部子集合,默认不包含指定元素
- tailSet(指定元素,boolean)
- 获取指定元素之前的尾部子集合,boolean值去顶是否包含指定元素
- 当前集合.First()
- 功能:获取当前集合的头部元素
- 当前集合.last()
- 功能:获取当前集合的尾部元素
- 当前集合.lower(指定元素)
- 功能:返回小于指定元素的第一个元素
- 当前集合.floor(指定元素)
- 功能:返回小于等于指定元素的第一个元素
- 当前集合.higher(指定元素)
- 功能:返回大于指定元素的第一个元素
- 当前集合.ceiling(指定元素)
- 功能:返回大于等于指定元素的第一个元素
- 当前集合.pollFirst()
- 功能:弹出集合中第一个元素
- 当前集合.pollLast()
- 功能:弹出集合中最后一个元素
- 当前集合.size()
- 截取元素
- 当前集合.subSet(指定元素1,指定元素2)
- 功能:从指定元素1(包含)开始截取,截取至指定元素2(不包含)
- 默认左闭右开
- 功能:从指定元素1(包含)开始截取,截取至指定元素2(不包含)
- 当前集合.subSet(指定元素1,boolean值,指定元素2,boolean值)
- 功能:从指定元素1截取至指定元素2,是否包含元素1元素2取决有boolean类型的值
- 当前集合.subSet(指定元素1,指定元素2)
- 转换
- 当前集合.toString()
- 功能:将当前集合转换为字符串
- 当前集合.toArray()
- 功能:将当前集合转换程Object类型的数组
- 当前集合.toArray(new String[int])
- 功能:将当前集合转换为指定类型指定长度的数组
- 当前集合.toString()
- 迭代器
- 当前集合.iterator()
- 功能:迭代器用于获取当前集合中的每一个元素
- it.hasNext()
- 判断元素是否存在
- it.next()
- 获取到该元素
- it.hasNext()
- 功能:迭代器用于获取当前集合中的每一个元素
- 当前集合.iterator()
- 克隆
- 当前集合.clone()
- 功能:快速的对当前集合进行克隆
- 当前集合.clone()
- 添加元素
- 方法特点
- 每个方法都没有加入Synchronized关键字
- 线程不安全
- 创建方式
- LinkHashSet(集合类)
- 创建方式
- new LinkedHashSet();
- 存储方式
- 采用哈希表(HashMap)进行存储,额外采用类似“链表”的方式保存当前元素的存入顺序
- 有序,元素不重复
- 采用哈希表(HashMap)进行存储,额外采用类似“链表”的方式保存当前元素的存入顺序
- 方法
- 添加元素
- 当前集合.add(指定元素)
- 功能:将指定元素添加至当前集合中,若当前集合已存在指定元素,则返回false
- 当前集合.add(另一个集合对象)
- 功能:将另一个集合对象中的元素添加至当前集合中
- 当前集合.add(指定元素)
- 删除元素
- 当前集合.clear()
- 功能:清除当前集合中的所有元素
- 当前集合.remove(指定元素)
- 功能:删除当前集合中的指定元素
- 当前集合.removeAll(删除的元素集合)
- 功能:将当前集合中的元素按照删除的元素集合进行批量删除
- 当前集合.clear()
- 查找元素
- 当前集合.contains(指定元素)
- 功能:在当前集合中查找是否含有指定元素
- 当前集合.size()
- 功能哥:获取当前集合的长度
- 当前集合.isEmpty()
- 功能:判断当前集合是否为空
- 当前集合.contains(指定元素)
- 转换
- 当前集合.toString()
- 功能:将当前集合转换为字符串
- 当前集合.toArray()
- 功能:将当前集合转换程Object类型的数组
- 当前集合.toArray(new String[int])
- 功能:将当前集合转换为指定类型指定长度的数组
- 当前集合.toString()
- 克隆
- 当前集合.clone()
- 功能:快速的对当前集合进行克隆
- 当前集合.clone()
- 迭代器
- 当前集合.iterator()
- 功能:迭代器用于获取当前集合中的每一个元素
- it.hasNext()
- 判断元素是否存在
- it.next()
- 获取到该元素
- it.hasNext()
- 功能:迭代器用于获取当前集合中的每一个元素
- 当前集合.iterator()
- 方法特点
- 每个方法都没有加入Synchronized关键字
- 线程不安全
- 添加元素
- 创建方式
Map(接口)
HashMap(集合类)
- 创建方式
- new HashMap<String, Integer>()
- 不指定容量,默认使用16
- new HashMap<String, Integer>(指定长度)
- 指定容量
- 用于存储数据的HashTable,在put()方法第一次调用(第一次存KV键值对),会进行创建
- new HashMap<String, Integer>()
- 存储特点
- KV键值对在保存时是无序状态
- 存储结构
- 基于哈希表(Hash Table)设计,哈希表的主干结构是数组
- JDK1.7:采用 数组+单项链表
- JDK1.8:采用 数组+单向链表+红黑树
- 方法
- 添加元素
- 当前集合.put(key,value)
- 功能:将指定键值对存入当前集合中
- 若当前集合中有相同key值,则会对旧的value值进行覆盖
- 使用不同key,允许有相同的value
- 功能:将指定键值对存入当前集合中
- 当前集合.putIfAbsent(key,value)
- 功能:在当前集合中,当前key值不存在时,将当前key值与value值存入当前集合中,否则添加失败
- 当前集合.put(key,value)
- 查找元素
- 当前集合.get(key)
- 功能:传入key值,获取当前集合指定key值所对应的value值
- 传入不存在的key值,返回false
- 功能:传入key值,获取当前集合指定key值所对应的value值
- 当前集合.containsKey(key)
- 功能:在当前集合中查找是否含有指定key值
- 当前集合.containsValue(value)
- 功能:在当前集合中查找是否含有指定的value值
- 当前集合.keySet()
- 功能:获取当前集合中所有的key值
- 返回:Set类型集合
- 当前集合.value()
- 功能:获取当前集合中所有的value值
- 返回:Collection类型集合
- 当前集合.entrySet()
- 功能:直接获取当前集合的所有键值对
- 返回:Set类型且含有Entry数据类型的集合
- 用法:Set<Entry<泛型>> entry = 当前集合.entrySet();
- 当前集合.getOrDefault(key,默认值)
- 功能:在当前集合中,根据指定key值获取value值
- 返回:若集合中含有指定key值,则返回对应value值
- 若不存在指定key值,则返回默认值
- 当前集合.isEmpty()
- 功能:判断当前集合是否为空
- 当前集合.size()
- 功能哥:获取当前集合的长度
- 当前集合.get(key)
- 修改元素
- 当前集合.replace(key,newValue)
- 按照key值,将该key值对应的value值修改成newValue
- 返回:如果key值存在,则返回newValue,不存在,则返回null
- 当前集合.replace(key,oldValue,newValue)
- 功能:按照key和oldValue,如果与当前集合内KV键值对一直,则用newValue替换oldValue
- 返回:若替换成功返回true,替换失败返回false
- 当前集合.replace(key,newValue)
- 删除元素
- 当前集合.clear()
- 功能:删除当前集合中所有元素
- 当前集合.remove(key)
- 功能:按照指定key值删除键值对
- 返回:若Key值存在,则返回value,不存在,则返回null
- 当前集合.clear()
- 克隆
- 当前集合.clone()
- 功能:快速的克隆当前集合
- 当前集合.clone()
- 迭代器
- 当前集合.iterator()
- 功能:迭代器用于获取当前集合中的每一个元素
- it.hasNext()
- 判断元素是否存在
- it.next()
- 获取到该元素
- it.hasNext()
- 功能:迭代器用于获取当前集合中的每一个元素
- 当前集合.iterator()
- 转换
- 当前集合.toString()
- 功能:将当前集合转换为字符串
- 当前集合.toString()
- 添加元素
- 方法特点
- 每个方法都没有加入Synchronized关键字
- 线程不安全
LinkedHashMap(集合类)
- 创建方式
- new LinkedHashMap<String,String>()
- 不指定容量
- new LinkedHashMap<String,String>()
- 指定容量
- new LinkedHashMap<String,String>()
- 结构特点
- 有序状态
- 存储结构
- 基于哈希表(hashTable)设计,哈希表主干结构是数组
- 另外,LinkedHashMap内部维护了一个双向链表,用于存储顺序
- 子主题 6
- 方法
- 添加元素
- 当前集合.put(key,value)
- 功能:将指定键值对存入当前集合中
- 若当前集合中有相同key值,则会对旧的value值进行覆盖
- 使用不同key,允许有相同的value
- 功能:将指定键值对存入当前集合中
- 当前集合.putIfAbsent(key,value)
- 功能:在当前集合中,当前key值不存在时,将当前key值与value值存入当前集合中,否则添加失败
- 当前集合.put(key,value)
- 查找元素
- 当前集合.get(key)
- 功能:传入key值,获取当前集合指定key值所对应的value值
- 传入不存在的key值,返回false
- 功能:传入key值,获取当前集合指定key值所对应的value值
- 当前集合.containsKey(key)
- 功能:在当前集合中查找是否含有指定key值
- 当前集合.containsValue(value)
- 功能:在当前集合中查找是否含有指定的value值
- 当前集合.keySet()
- 功能:获取当前集合中所有的key值
- 返回:Set类型集合
- 当前集合.value()
- 功能:获取当前集合中所有的value值
- 返回:Collection类型集合
- 当前集合.entry()
- 功能:直接获取当前集合的所有键值对
- 返回:Set类型且含有Entry数据类型的集合
- 用法:Set<Entry<泛型>> entry = 当前集合.entrySet();
- 当前集合.getOrDefault(key,默认值)
- 功能:在当前集合中,根据指定key值获取value值
- 返回:若集合中含有指定key值,则返回对应value值
- 若不存在指定key值,则返回默认值
- 当前集合.isEmpty()
- 功能:判断当前集合是否为空
- 当前集合.size()
- 功能:获取当前集合的长度
- 当前集合.get(key)
- 修改元素
- 当前集合.replace(key,newValue)
- 按照key值,将该key值对应的value值修改成newValue
- 返回:如果key值存在,则返回newValue,不存在,则返回null
- 当前集合.replace(key,oldValue,newValue)
- 功能:按照key和oldValue,如果与当前集合内KV键值对一直,则用newValue替换oldValue
- 返回:若替换成功返回true,替换失败返回false
- 当前集合.replace(key,newValue)
- 删除元素
- 当前集合.clear()
- 功能:删除当前集合中所有元素
- 当前集合.remove(key)
- 功能:按照指定key值删除键值对
- 返回:若Key值存在,则返回value,不存在,则返回null
- 当前集合.clear()
- 克隆
- 当前集合.clone()
- 功能:快速的克隆当前集合
- 当前集合.clone()
- 迭代器
- 当前集合.iterator()
- 功能:迭代器用于获取当前集合中的每一个元素
- it.hasNext()
- 判断元素是否存在
- it.next()
- 获取到该元素
- it.hasNext()
- 功能:迭代器用于获取当前集合中的每一个元素
- 当前集合.iterator()
- 转换
- 当前集合.toString()
- 功能:将当前集合转换为字符串
- 当前集合.toString()
- 添加元素
- 方法特点
- 每个方法都没有加入Synchronized关键字
- 线程不安全
TreeMap(集合类)
- 创建方式
- 创建方式与HashMap一致
- 存储特点
- 默认自动按照key值进行排序
- 存储结构
- 采用红黑树保存数据,使用Comparetor比较器进行比较,可以进行升序存储
- 方法
- 添加元素
- 当前集合.put(key,value)
- 功能:添加新的键值对
- 当前集合.putAll(另一个集合)
- 功能:将另一个集合里的所有键值对添加到当前集合中
- 当前集合.putAbSent(key,value)
- 功能:如果当前key值不存在,则进行添加操作
- 当前集合.put(key,value)
- 删除元素
- 当前集合.clear()
- 功能:清除当前集合的所有元素
- 当前集合.remove(key)
- 功能:按照key值删除键值对
- 当前集合.remove(key,value)
- 功能:按照key,value进行删除键值对,不过不存在对应的键值对,则不进行删除操作
- 当前集合.clear()
- 修改元素
- 当前集合.replace(key,newValue)
- 功能:按照key,将该key值对应的value替换成newValue
- 当前集合.replace(key,oldValue,newValue)
- 功能:按照key和oldValue,如果与当前键值对一直,则将oldValue替换成newValue
- 当前集合.replace(key,newValue)
- 查找元素
- 当前集合.get(key)
- 功能:传入key值,获取当前集合指定key值所对应的value值
- 传入不存在的key值,返回false
- 功能:传入key值,获取当前集合指定key值所对应的value值
- 当前集合.containsKey(key)
- 功能:在当前集合中查找是否含有指定key值
- 当前集合.containsValue(value)
- 功能:在当前集合中查找是否含有指定的value值
- 当前集合.keySet()
- 功能:获取当前集合中所有的key值
- 返回:Set类型集合
- 当前集合.values()
- 功能:获取当前集合中所有的value值
- 返回:Collection类型集合
- 当前集合.entrySet()
- 功能:直接获取当前集合的所有键值对
- 返回:Set类型且含有Entry数据类型的集合
- 用法:Set<Entry<泛型>> entry = 当前集合.entrySet();
- 当前集合.getOrDefault(key,默认值)
- 功能:在当前集合中,根据指定key值获取value值
- 返回:若集合中含有指定key值,则返回对应value值
- 若不存在指定key值,则返回默认值
- 当前集合.isEmpty()
- 功能:判断当前集合是否为空
- 当前集合.size()
- 功能:获取当前集合的长度
- 当前集合.lowerKey(key)
- 功能:找到小于指定key的一个key
- 如果找到,返回key
- 如果没有找到,返回null
- 功能:找到小于指定key的一个key
- 当前集合.lowerEntry(key)
- 功能:找到小于指定key的一个Entry键值对
- 如果找到,返回Entry
- 如果没有找到,返回null
- 功能:找到小于指定key的一个Entry键值对
- 当前集合.floorKey(key)
- 功能:找到小于等于指定key的一个key
- 如果找到,返回key
- 如果没有找到,返回null
- 功能:找到小于等于指定key的一个key
- 当前集合.floorEntry(key)
- 功能:找到小于等于指定key的一个Entry键值对
- 如果找到,返回Entry
- 如果没有找到,返回null
- 功能:找到小于等于指定key的一个Entry键值对
- 当前集合.higherKey(key)
- 功能:找到大于指定key的一个key
- 如果找到,返回key
- 如果没有找到,返回null
- 功能:找到大于指定key的一个key
- 当前集合.higherEntry(key)
- 功能:找到大于指定key的一个Entry
- 如果找到,返回key
- 如果没有找到,返回null
- 功能:找到大于指定key的一个Entry
- 当前集合.cellingKey(key)
- 功能:找到大于等于指定key的一个key
- 如果找到,返回key
- 如果没有找到,返回null
- 功能:找到大于等于指定key的一个key
- 当前集合.cellingEntry(key)
- 功能:找到大于等于指定key的一个Entry
- 如果找到,返回key
- 如果没有找到,返回null
- 功能:找到大于等于指定key的一个Entry
- 当前集合.FirstKey()
- 功能:获取Map集合里的第一个键
- 当前集合.FirstEntry()
- 功能:获取Map集合里的第一个键值对
- 当前集合.lastKey()
- 功能:获取Map集合里的最后一个键
- 当前集合.lastEntry()
- 功能:获取Map集合里的最后一个键值对
- 当前集合.pollFirstEntry()
- 功能:弹出当前集合里的第一个键值对
- 当前集合.pollLastEntry()
- 功能:弹出当前集合里的最后一个键值对
- 当前集合.get(key)
- 截取元素
- 当前集合.headMap(key)
- 功能:按照指定的key,从Map的头部键值对开始截取值key
- 左闭右开
- 功能:按照指定的key,从Map的头部键值对开始截取值key
- 当前集合.headMap(key,boolean)
- 功能:按照指定的key,从Map的头部键值对开始截取值key,是否包含指定key取决于boolean
- true包含,false不包含
- 功能:按照指定的key,从Map的头部键值对开始截取值key,是否包含指定key取决于boolean
- 当前集合.tailMap(key)
- 功能:按照指定的key,从Map的尾部键值对开始截取值key
- 左开右闭
- 功能:按照指定的key,从Map的尾部键值对开始截取值key
- 当前集合.tailMap(key,boolean)
- 功能:按照指定的key,从Map的尾部键值对开始截取值key,是否包含指定key取决于boolean
- true包含,false不包含
- 功能:按照指定的key,从Map的尾部键值对开始截取值key,是否包含指定key取决于boolean
- 当前集合.subMap(开始key,结束key)
- 功能:按照开始key开始截取至结束Key
- 默认左闭右开
- 功能:按照开始key开始截取至结束Key
- 当前集合.subMap(开始key,boolean,结束key,boolean)
- 功能:按照开始key开始截取至结束Key
- true包含,false不包含
- 功能:按照开始key开始截取至结束Key
- 当前集合.headMap(key)
- 转换
- 当前集合.toString()
- 功能:将当前集合转换为字符串
- 当前集合.toString()
- 添加元素
- 方法特点
- 每个方法都没有加入Synchronized关键字
- 线程不安全
HashTable(集合类)
- 创建方式
- 默认容量为11
- 存储特点
- 存储结构
- 方法
- 区别
- 每个方法都没有加入Synchronized关键字,线程安全
- 效率速度较低
collections集合算法类
一组针对集合进行算法功能操作的封装类
- 创建并获取一个“空集合”
- “空集合“的作用:创建一个不能添加元素的 集合,用于体现当前集合的”业务状态“
- 若试图向一个”空集合“中添加元素,则会抛出UnsupportedOperationException异常(不支持该操作的异常)
常用方法
- 添加
- addALL(指定集合,值1,值2…值N)
- 功能:将一组值添加至指定集合(Collection类型的集合)
- copy(dest,src)
- 功能:复制src集合中的所有元素至dest集合中
- 注意:复制时src的长度 <= dest的长度,否则会抛出IndexOutOfboundsException
- fill(指定List集合,指定元素值)
- 功能:将指定List集合中的所有元素,填充为指定元素值
- 该方法只能处理List类型集合
- addALL(指定集合,值1,值2…值N)
- 修改
- nCopies(倍数,原集合)
- 功能:对原集合进行指定倍数的复制
- 返回:嵌套集合
- replaceAll(原集合,原值,新值)
- 功能:将原集合内的所有原值替换为新值
- 返回:替换成功返回ture;替换失败返回false
- reverse(原集合)
- 功能:将原集合中所有的元素,按照逆序的方式重新排列
- rotate(List集合,旋转位数)
- 功能:对指定集合进行指定位数的旋转操作
- shuffle(List集合)
- 功能:对指定集合进行乱序处理
- sort(List集合)
- 功能:对指定集合进行排序处理
- nCopies(倍数,原集合)
- 查找
- binarySearch(指定集合,指定元素)
- 功能:在指定集合中,查找指定元素的位置
- 返回:元素在集合中的位置下标;如果没有找到,则返回负数
- disjoint()
- 功能:比较两个集合中是否存在相同的元素
- 返回:存在相同元素,返回false;不存在相同元素,返回true
- indexOfSubList(原集合,子集合)
- 功能:在原集合中,查找子集合的位置
- 返回:如果存在子集合,则返回子集合位置下标;如果不存在子集合,则返回-1
- binarySearch(指定集合,指定元素)
- synchronizesList(原集合)
- 功能:将原集合改造成一个”线程安全“的synchronized集合
- 返回:SynchronizedRandomAccessList
- 场景:如果当前集合需要确保线程安全,且并发访问量不大时,可以零时使用这种方式
- unmodifiableList(原集合)
- 功能:按照原集合中的元素内容,产生一个不允许修改的集合
- 返回:不允许修改的集合
【UnmodifiableRandomAccessList】
功能
- 针对Collection接口下集合类的常见算法操作
- 任何一项功能,都是以静态方法的形式调用