Java集合框架总结

Java“集合”框架 Java.util.*包

Collection(接口)

List接口

  • ArrayList(集合类)
    • 创建方式
      • new ArrayList();
        • 没有指定长度,默认长度为0
      • new ArrayList(8);
        • 有指定长度,指定长度为8
    • 存储结构
      • ArrayList以数组的方式进行存储
      • 连续的内存空间更擅长遍历查找
    • 特点
      • 无序的,可以重复存储
    • 方法
      • 添加元素
        • 当前集合.add(指定元素)
          • 功能:将指定元素添加至当前集合末尾
        • 当前集合.add(指定下标位置,指定元素)
          • 功能:将指定元素添加至当前集合的指定下标位置
        • 当前集合.add(另一个集合对象)
          • 功能:将另一个集合对象中的所有元素添加至当前集合中
        • 当前集合.add(指定下标位置,另一个集合对象)
          • 功能:将另一个集合对象中的所有元素添加到当前集合的指定下标位置
      • 查找元素
        • 当前集合.contains(指定元素)
          • 功能:用于判断当前字符串中是否含有指定字符串
          • 返回结果:boolean类型的true或false
        • 当前集合.get(指定下标)
          • 功能:根据指定下标获取当前集合中指定下标位置的元素
        • 当前集合.size()
          • 功能:获取当前集合中元素的个数
        • 当前集合.indexOf(“指定元素”)
          • 功能:在当前集合中获取指定元素在该集合中第一次出现的位置下标
        • 当前集合.lastindexOf(“指定元素”)
          • 功能:在当前集合中获取指定元素在该集合中最后一次出现的位置下标
        • 当前集合.isEmpty()
          • 功能:判断当前集合是否为空
          • 返回:boolean类型的true或false
      • 删除元素
        • 当前集合.clear()
          • 功能:清空集合中所有元素
        • 当前集合.remove(指定下标)
          • 功能:删除当前集合中指定下标位置的元素
        • 当前集合.remove(“指定元素”)
          • 功能:删除当前集合中的指定元素
        • 当前集合.removeAll(删除的元素集合)
          • 功能:在当前集合中,按照需要删除的元素集合,对当前集合进行批量删除
      • 修改元素
        • 当前集合.set(指定下标,新元素)
          • 功能:在当前集合中,将指定下标位置的元素替换成新元素
      • 截取元素
        • 当前集合.subList(开始下标,结束下标)
          • 功能:按照起始下标对当前集合进行截取
          • 下标范围:左闭右开
      • 转换
        • 当前集合.toString()
          • 功能:将当前集合转换为字符串类型
        • 当前集合.toArray()
          • 功能:将当前集合转换为Object类型的数组
        • 当前集合.toArray(new String[当前集合.size])
          • 功能:将当前集合转换成指定类型指定长度的数组
    • 方法特点
      • 每个方法都没有加入Synchronized
      • 线程不安全
      • 性能效率较高
  • Vector(集合类)
    • 创建方式
      • new Vector();
        • 没有指定长度,默认值为10
      • new Vector(32)
        • 有指定长度,长度为32
    • 存储方式
      • Vector以数组的方式进行存储
      • 连续的内存空间更擅长遍历和查找
    • 特点
      • 无序的,可以重复存储
    • 方法
      • 添加元素
        • 当前集合.add(指定元素)
          • 功能:在当前集合末尾添加指定元素
        • 当前集合.add(指定下标,指定元素)
          • 功能:在当前集合的指定下标位置添加指定元素
        • 当前集合.addElement(指定元素)
          • 功能:在当前集合末尾添加指定元素
        • 当前集合.addAll(另一个集合)
          • 功能:将另一个集合中的所有元素添加至当前元素
        • 当前集合.add(指定下标,另一个集合)
          • 功能:将另一个集合中的所有元素添加至当前集合中指定下标位置
      • 查找元素
        • 当前集合.contains(指定元素)
          • 功能:用于判断当前字符串中是否含有指定字符串
          • 返回结果:boolean类型的true或false
        • 当前集合.get(指定下标)
          • 功能:根据指定下标获取当前集合中指定下标位置的元素
        • 当前集合.indexOf(“指定元素”)
          • 功能:在当前集合中获取指定元素在该集合中第一次出现的位置下标
        • 当前集合.lastindexOf(“指定元素”)
          • 功能:在当前集合中获取指定元素在该集合中最后一次出现的位置下标
        • 当前集合.size()
          • 功能:获取当前集合中元素的个数
        • 当前集合.capacity()
          • 功能:获取当前集合容量
        • 当前集合.isEmpty()
          • 功能:判断当前集合是否为空
          • 返回:boolean类型的true或false
        • 当前集合.elementAt()
          • 功能:根据下标返回元素,作用与get等同
      • 删除元素
        • 当前集合.clear()
          • 功能:清空集合中所有元素
        • 当前集合.remove(指定下标)
          • 功能:删除当前集合中指定下标位置的元素
        • 当前集合.remove(“指定元素”)
          • 功能:删除当前集合中的指定元素
        • 当前集合.removeAll(删除的元素集合)
          • 功能:在当前集合中,按照需要删除的元素集合,对当前集合进行批量删除
      • 修改元素
        • 当前集合.set(指定下标,新元素)
          • 功能:在当前集合中,将指定下标位置的元素替换成新元素
        • 当前集合.setElement(”新元素“,指定下标)
          • 功能:在当前集合中,将指定下标位置的元素替换成新元素,作用与set相同
      • 截取元素
        • 截取元素
          • 当前集合.subList(开始下标,结束下标)
            • 功能:按照起始下标对当前集合进行截取
            • 下标范围:左闭右开
      • 转换
        • 当前集合.toString()
          • 功能:将当前集合转换为字符串类型
        • 当前集合.toArray()
          • 功能:将当前集合转换为Object类型的数组
        • 当前集合.toArray(new String[当前集合.size])
          • 功能:将当前集合转换成指定类型指定长度的数组
    • 方法特点
      • 每个方法都有Synchronized关键字
      • 线程安全
      • 性能效率较低
  • LinkedLink(集合类)
    • 创建方式
      • new LinkedList();
      • LinkedList list2 = new LinkedList(listx);
        • 可以在创建时,直接将另外一个List集合中的"所有元素"都添加至当前新创建的集合对象中
    • 存储方式
      • 内部使用双向链表的方式进行存储
      • 更擅长添加、修改、删除等操作
    • 特点
      • 无序的,可以重复存储
    • 方法
      • 添加元素
        • 当前集合.add(指定元素)
          • 功能:在当前集合末尾添加指定元素
        • 当前集合.add(指定下标,指定元素)
          • 功能:在当前集合的指定下标位置添加指定元素
        • 当前集合.addAll(另一个集合)
          • 功能:将另一个集合中的所有元素添加至当前元素
        • 当前集合.add(指定下标,另一个集合)
          • 功能:将另一个集合中的所有元素添加至当前集合中指定下标位置
        • 当前集合.addFirst(指定元素)
          • 功能:将指定元素添加至当前集合头部
        • 当前集合.addLast(指定元素)
          • 功能:将指定元素添加至当前集合尾部
      • 查找元素
        • 当前集合.contains(指定元素)
          • 功能:用于判断当前字符串中是否含有指定字符串
          • 返回结果:boolean类型的true或false
        • 当前集合.get(指定下标)
          • 功能:根据指定下标获取当前集合中指定下标位置的元素
        • 当前集合.getFirst()
          • 功能:获取当前集合的头部元素
        • 当前集合.getLast()
          • 功能:获取当前集合的尾部元素
        • 当前集合.indexOf(“指定元素”)
          • 功能:在当前集合中获取指定元素在该集合中第一次出现的位置下标
        • 当前集合.lastindexOf(“指定元素”)
          • 功能:在当前集合中获取指定元素在该集合中最后一次出现的位置下标
        • 当前集合.size()
          • 功能:获取当前集合中元素的个数
        • 当前集合.isEmpty()
          • 功能:判断当前集合是否为空
          • 返回:boolean类型的true或false
      • 删除元素
        • 当前集合.clear()
          • 功能:清空集合中所有元素
        • 当前集合.remove(指定下标)
          • 功能:删除当前集合中指定下标位置的元素
        • 当前集合.remove(“指定元素”)
          • 功能:删除当前集合中的指定元素
        • 当前集合.removeAll(删除的元素集合)
          • 功能:在当前集合中,按照需要删除的元素集合,对当前集合进行批量删除
        • 当前集合.removeFirst()
          • 功能:删除当前集合的头部元素
        • 当前集合.removeLast()
          • 功能:删除当前集合的尾部元素
        • 当前集合.removeFirstOccurrence(指定元素)
          • 功能:删除集合中第一个找到的指定元素
        • 当前集合.removeLastOccurrence(指定元素)
          • 功能:删除集合中最后一个找到的指定元素
      • 修改元素
        • 当前集合.set(指定下标,新元素)
          • 功能:在当前集合中,将指定下标位置的元素替换成新元素
      • 截取元素
        • 截取元素
          • 当前集合.subList(开始下标,结束下标)
            • 功能:按照起始下标对当前集合进行截取
            • 下标范围:左闭右开
      • 转换
        • 当前集合.toString()
          • 功能:将当前集合转换为字符串类型
        • 当前集合.toArray()
          • 功能:将当前集合转换为Object类型的数组
        • 当前集合.toArray(new String[当前集合.size])
          • 功能:将当前集合转换成指定类型指定长度的数组
    • 方法特点
      • 每个方法都没有Synchronized关键字
      • 线程不安全
      • 性能效率较高

set接口

  • HashSet(集合类)
    • 创建方式
      • new HashSet()
    • 存储结构
      • 采用哈希(HashMap)进行存储,以一种“散列”的方式进行存储
    • 方法
      • 添加元素
        • 当前集合.add(指定元素)
          • 功能:将指定元素添加至当前集合
        • 当前集合.addAll(另一个集合)
          • 功能:将另一个集合对象添加至当前集合中
      • 删除元素
        • 当前集合.clear()
          • 功能:清除当前集合中的所有元素
        • 当前集合.remove(指定元素)
          • 功能:删除当前集合中的指定元素
        • 当前集合.removeAll(需要删除的元素集合)
          • 功能:对当前集合中的元素按照需要删除的元素集合进行批量删除
      • 查找元素
        • 当前集合.comtains(指定元素)
          • 功能:在当前集合中查找是否含有指定元素
        • 当前集合.isEmpty()
          • 功能:判断当前集合是否为空
        • 当前集合.size()
          • 功能哥:获取当前集合的长度
      • 克隆
        • 当前集合.clone()
          • 功能:快速的对当前集合进行克隆
      • 迭代器
        • 当前集合.iterator()
          • 功能:迭代器用于获取当前集合中的每一个元素
            • it.hasNext()
              • 判断元素是否存在
            • it.next()
              • 获取到该元素
      • 转换
        • 当前集合.toString()
          • 功能:将当前集合转换为字符串
        • 当前集合.toArray()
          • 功能:将当前集合转换程Object类型的数组
        • 当前集合.toArray(new String[int])
          • 功能:将当前集合转换为指定类型指定长度的数组
    • 方法特点
      • 每个方法都没有加入Synchronized关键字
      • 线程不安全
  • TreeSet(集合类)
    • 创建方式
      • new TreeSet()
    • 存储方式
      • TreeSet采用TreeMap存储,而TreeMap在底层使用了红黑树存储结构(自平衡的排序二叉树)
        • treeSet集合中的所有元素,可以进行自动排序
    • 方法
      • 添加元素
        • 当前集合.add(指定元素)
          • 功能:将指定元素添加至当前集合中
            • 中文存储时,采用字符的Unicode码
        • 当前集合.addAll(另一个集合)
          • 功能:将另一个集合中的元素全部添加至当前集合中
      • 删除元素
        • 当前集合.clear()
          • 功能:清除当前集合中的所有元素
        • 当前集合.remove(指定元素)
          • 功能:删除当前集合中的指定元素
        • 当前集合.removeAll(删除的元素集合)
          • 功能:将当前集合中的元素按照删除的元素集合进行批量删除
      • 查询元素
        • 当前集合.size()
          • 功能:获取当前集合的长度
        • headSet(指定元素)
          • 获取指定元素之前的头部子集合,默认不包含指定元素
        • headSet(指定元素,boolean)
          • 获取指定元素之前的头部子集合,boolean值去顶是否包含指定元素
        • 当前集合.contains(指定元素)
          • 功能:在当前集合中查找是否含有指定元素
        • 当前集合.isEmpty()
          • 功能:判断当前集合是否为空
        • tailSet(指定元素)
          • 获取指定元素之前的尾部子集合,默认不包含指定元素
        • tailSet(指定元素,boolean)
          • 获取指定元素之前的尾部子集合,boolean值去顶是否包含指定元素
        • 当前集合.First()
          • 功能:获取当前集合的头部元素
        • 当前集合.last()
          • 功能:获取当前集合的尾部元素
        • 当前集合.lower(指定元素)
          • 功能:返回小于指定元素的第一个元素
        • 当前集合.floor(指定元素)
          • 功能:返回小于等于指定元素的第一个元素
        • 当前集合.higher(指定元素)
          • 功能:返回大于指定元素的第一个元素
        • 当前集合.ceiling(指定元素)
          • 功能:返回大于等于指定元素的第一个元素
        • 当前集合.pollFirst()
          • 功能:弹出集合中第一个元素
        • 当前集合.pollLast()
          • 功能:弹出集合中最后一个元素
      • 截取元素
        • 当前集合.subSet(指定元素1,指定元素2)
          • 功能:从指定元素1(包含)开始截取,截取至指定元素2(不包含)
            • 默认左闭右开
        • 当前集合.subSet(指定元素1,boolean值,指定元素2,boolean值)
          • 功能:从指定元素1截取至指定元素2,是否包含元素1元素2取决有boolean类型的值
      • 转换
        • 当前集合.toString()
          • 功能:将当前集合转换为字符串
        • 当前集合.toArray()
          • 功能:将当前集合转换程Object类型的数组
        • 当前集合.toArray(new String[int])
          • 功能:将当前集合转换为指定类型指定长度的数组
      • 迭代器
        • 当前集合.iterator()
          • 功能:迭代器用于获取当前集合中的每一个元素
            • it.hasNext()
              • 判断元素是否存在
            • it.next()
              • 获取到该元素
      • 克隆
        • 当前集合.clone()
          • 功能:快速的对当前集合进行克隆
    • 方法特点
      • 每个方法都没有加入Synchronized关键字
      • 线程不安全
  • LinkHashSet(集合类)
    • 创建方式
      • new LinkedHashSet();
    • 存储方式
      • 采用哈希表(HashMap)进行存储,额外采用类似“链表”的方式保存当前元素的存入顺序
        • 有序,元素不重复
    • 方法
      • 添加元素
        • 当前集合.add(指定元素)
          • 功能:将指定元素添加至当前集合中,若当前集合已存在指定元素,则返回false
        • 当前集合.add(另一个集合对象)
          • 功能:将另一个集合对象中的元素添加至当前集合中
      • 删除元素
        • 当前集合.clear()
          • 功能:清除当前集合中的所有元素
        • 当前集合.remove(指定元素)
          • 功能:删除当前集合中的指定元素
        • 当前集合.removeAll(删除的元素集合)
          • 功能:将当前集合中的元素按照删除的元素集合进行批量删除
      • 查找元素
        • 当前集合.contains(指定元素)
          • 功能:在当前集合中查找是否含有指定元素
        • 当前集合.size()
          • 功能哥:获取当前集合的长度
        • 当前集合.isEmpty()
          • 功能:判断当前集合是否为空
      • 转换
        • 当前集合.toString()
          • 功能:将当前集合转换为字符串
        • 当前集合.toArray()
          • 功能:将当前集合转换程Object类型的数组
        • 当前集合.toArray(new String[int])
          • 功能:将当前集合转换为指定类型指定长度的数组
      • 克隆
        • 当前集合.clone()
          • 功能:快速的对当前集合进行克隆
      • 迭代器
        • 当前集合.iterator()
          • 功能:迭代器用于获取当前集合中的每一个元素
            • it.hasNext()
              • 判断元素是否存在
            • it.next()
              • 获取到该元素
      • 方法特点
        • 每个方法都没有加入Synchronized关键字
        • 线程不安全

Map(接口)

HashMap(集合类)

  • 创建方式
    • new HashMap<String, Integer>()
      • 不指定容量,默认使用16
    • new HashMap<String, Integer>(指定长度)
      • 指定容量
    • 用于存储数据的HashTable,在put()方法第一次调用(第一次存KV键值对),会进行创建
  • 存储特点
    • KV键值对在保存时是无序状态
  • 存储结构
    • 基于哈希表(Hash Table)设计,哈希表的主干结构是数组
    • JDK1.7:采用 数组+单项链表
    • JDK1.8:采用 数组+单向链表+红黑树
  • 方法
    • 添加元素
      • 当前集合.put(key,value)
        • 功能:将指定键值对存入当前集合中
          • 若当前集合中有相同key值,则会对旧的value值进行覆盖
          • 使用不同key,允许有相同的value
      • 当前集合.putIfAbsent(key,value)
        • 功能:在当前集合中,当前key值不存在时,将当前key值与value值存入当前集合中,否则添加失败
    • 查找元素
      • 当前集合.get(key)
        • 功能:传入key值,获取当前集合指定key值所对应的value值
          • 传入不存在的key值,返回false
      • 当前集合.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()
        • 功能哥:获取当前集合的长度
    • 修改元素
      • 当前集合.replace(key,newValue)
        • 按照key值,将该key值对应的value值修改成newValue
        • 返回:如果key值存在,则返回newValue,不存在,则返回null
      • 当前集合.replace(key,oldValue,newValue)
        • 功能:按照key和oldValue,如果与当前集合内KV键值对一直,则用newValue替换oldValue
        • 返回:若替换成功返回true,替换失败返回false
    • 删除元素
      • 当前集合.clear()
        • 功能:删除当前集合中所有元素
      • 当前集合.remove(key)
        • 功能:按照指定key值删除键值对
        • 返回:若Key值存在,则返回value,不存在,则返回null
    • 克隆
      • 当前集合.clone()
        • 功能:快速的克隆当前集合
    • 迭代器
      • 当前集合.iterator()
        • 功能:迭代器用于获取当前集合中的每一个元素
          • it.hasNext()
            • 判断元素是否存在
          • it.next()
            • 获取到该元素
    • 转换
      • 当前集合.toString()
        • 功能:将当前集合转换为字符串
  • 方法特点
    • 每个方法都没有加入Synchronized关键字
    • 线程不安全

LinkedHashMap(集合类)

  • 创建方式
    • new LinkedHashMap<String,String>()
      • 不指定容量
    • new LinkedHashMap<String,String>()
      • 指定容量
  • 结构特点
    • 有序状态
  • 存储结构
    • 基于哈希表(hashTable)设计,哈希表主干结构是数组
    • 另外,LinkedHashMap内部维护了一个双向链表,用于存储顺序
  • 子主题 6
  • 方法
    • 添加元素
      • 当前集合.put(key,value)
        • 功能:将指定键值对存入当前集合中
          • 若当前集合中有相同key值,则会对旧的value值进行覆盖
          • 使用不同key,允许有相同的value
      • 当前集合.putIfAbsent(key,value)
        • 功能:在当前集合中,当前key值不存在时,将当前key值与value值存入当前集合中,否则添加失败
    • 查找元素
      • 当前集合.get(key)
        • 功能:传入key值,获取当前集合指定key值所对应的value值
          • 传入不存在的key值,返回false
      • 当前集合.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()
        • 功能:获取当前集合的长度
    • 修改元素
      • 当前集合.replace(key,newValue)
        • 按照key值,将该key值对应的value值修改成newValue
        • 返回:如果key值存在,则返回newValue,不存在,则返回null
      • 当前集合.replace(key,oldValue,newValue)
        • 功能:按照key和oldValue,如果与当前集合内KV键值对一直,则用newValue替换oldValue
        • 返回:若替换成功返回true,替换失败返回false
    • 删除元素
      • 当前集合.clear()
        • 功能:删除当前集合中所有元素
      • 当前集合.remove(key)
        • 功能:按照指定key值删除键值对
        • 返回:若Key值存在,则返回value,不存在,则返回null
    • 克隆
      • 当前集合.clone()
        • 功能:快速的克隆当前集合
    • 迭代器
      • 当前集合.iterator()
        • 功能:迭代器用于获取当前集合中的每一个元素
          • it.hasNext()
            • 判断元素是否存在
          • it.next()
            • 获取到该元素
    • 转换
      • 当前集合.toString()
        • 功能:将当前集合转换为字符串
  • 方法特点
    • 每个方法都没有加入Synchronized关键字
    • 线程不安全

TreeMap(集合类)

  • 创建方式
    • 创建方式与HashMap一致
  • 存储特点
    • 默认自动按照key值进行排序
  • 存储结构
    • 采用红黑树保存数据,使用Comparetor比较器进行比较,可以进行升序存储
  • 方法
    • 添加元素
      • 当前集合.put(key,value)
        • 功能:添加新的键值对
      • 当前集合.putAll(另一个集合)
        • 功能:将另一个集合里的所有键值对添加到当前集合中
      • 当前集合.putAbSent(key,value)
        • 功能:如果当前key值不存在,则进行添加操作
    • 删除元素
      • 当前集合.clear()
        • 功能:清除当前集合的所有元素
      • 当前集合.remove(key)
        • 功能:按照key值删除键值对
      • 当前集合.remove(key,value)
        • 功能:按照key,value进行删除键值对,不过不存在对应的键值对,则不进行删除操作
    • 修改元素
      • 当前集合.replace(key,newValue)
        • 功能:按照key,将该key值对应的value替换成newValue
      • 当前集合.replace(key,oldValue,newValue)
        • 功能:按照key和oldValue,如果与当前键值对一直,则将oldValue替换成newValue
    • 查找元素
      • 当前集合.get(key)
        • 功能:传入key值,获取当前集合指定key值所对应的value值
          • 传入不存在的key值,返回false
      • 当前集合.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
      • 当前集合.lowerEntry(key)
        • 功能:找到小于指定key的一个Entry键值对
          • 如果找到,返回Entry
          • 如果没有找到,返回null
      • 当前集合.floorKey(key)
        • 功能:找到小于等于指定key的一个key
          • 如果找到,返回key
          • 如果没有找到,返回null
      • 当前集合.floorEntry(key)
        • 功能:找到小于等于指定key的一个Entry键值对
          • 如果找到,返回Entry
          • 如果没有找到,返回null
      • 当前集合.higherKey(key)
        • 功能:找到大于指定key的一个key
          • 如果找到,返回key
          • 如果没有找到,返回null
      • 当前集合.higherEntry(key)
        • 功能:找到大于指定key的一个Entry
          • 如果找到,返回key
          • 如果没有找到,返回null
      • 当前集合.cellingKey(key)
        • 功能:找到大于等于指定key的一个key
          • 如果找到,返回key
          • 如果没有找到,返回null
      • 当前集合.cellingEntry(key)
        • 功能:找到大于等于指定key的一个Entry
          • 如果找到,返回key
          • 如果没有找到,返回null
      • 当前集合.FirstKey()
        • 功能:获取Map集合里的第一个键
      • 当前集合.FirstEntry()
        • 功能:获取Map集合里的第一个键值对
      • 当前集合.lastKey()
        • 功能:获取Map集合里的最后一个键
      • 当前集合.lastEntry()
        • 功能:获取Map集合里的最后一个键值对
      • 当前集合.pollFirstEntry()
        • 功能:弹出当前集合里的第一个键值对
      • 当前集合.pollLastEntry()
        • 功能:弹出当前集合里的最后一个键值对
    • 截取元素
      • 当前集合.headMap(key)
        • 功能:按照指定的key,从Map的头部键值对开始截取值key
          • 左闭右开
      • 当前集合.headMap(key,boolean)
        • 功能:按照指定的key,从Map的头部键值对开始截取值key,是否包含指定key取决于boolean
          • true包含,false不包含
      • 当前集合.tailMap(key)
        • 功能:按照指定的key,从Map的尾部键值对开始截取值key
          • 左开右闭
      • 当前集合.tailMap(key,boolean)
        • 功能:按照指定的key,从Map的尾部键值对开始截取值key,是否包含指定key取决于boolean
          • true包含,false不包含
      • 当前集合.subMap(开始key,结束key)
        • 功能:按照开始key开始截取至结束Key
          • 默认左闭右开
      • 当前集合.subMap(开始key,boolean,结束key,boolean)
        • 功能:按照开始key开始截取至结束Key
          • true包含,false不包含
    • 转换
      • 当前集合.toString()
        • 功能:将当前集合转换为字符串
  • 方法特点
    • 每个方法都没有加入Synchronized关键字
    • 线程不安全

HashTable(集合类)

  • 创建方式
    • 默认容量为11
  • 存储特点
  • 存储结构
  • 方法
  • 区别
    • 每个方法都没有加入Synchronized关键字,线程安全
    • 效率速度较低

collections集合算法类

一组针对集合进行算法功能操作的封装类

  • 创建并获取一个“空集合”
  • “空集合“的作用:创建一个不能添加元素的 集合,用于体现当前集合的”业务状态“
  • 若试图向一个”空集合“中添加元素,则会抛出UnsupportedOperationException异常(不支持该操作的异常)

常用方法

  • 添加
    • addALL(指定集合,值1,值2…值N)
      • 功能:将一组值添加至指定集合(Collection类型的集合)
    • copy(dest,src)
      • 功能:复制src集合中的所有元素至dest集合中
      • 注意:复制时src的长度 <= dest的长度,否则会抛出IndexOutOfboundsException
    • fill(指定List集合,指定元素值)
      • 功能:将指定List集合中的所有元素,填充为指定元素值
      • 该方法只能处理List类型集合
  • 修改
    • nCopies(倍数,原集合)
      • 功能:对原集合进行指定倍数的复制
      • 返回:嵌套集合
    • replaceAll(原集合,原值,新值)
      • 功能:将原集合内的所有原值替换为新值
      • 返回:替换成功返回ture;替换失败返回false
    • reverse(原集合)
      • 功能:将原集合中所有的元素,按照逆序的方式重新排列
    • rotate(List集合,旋转位数)
      • 功能:对指定集合进行指定位数的旋转操作
    • shuffle(List集合)
      • 功能:对指定集合进行乱序处理
    • sort(List集合)
      • 功能:对指定集合进行排序处理
  • 查找
    • binarySearch(指定集合,指定元素)
      • 功能:在指定集合中,查找指定元素的位置
      • 返回:元素在集合中的位置下标;如果没有找到,则返回负数
    • disjoint()
      • 功能:比较两个集合中是否存在相同的元素
      • 返回:存在相同元素,返回false;不存在相同元素,返回true
    • indexOfSubList(原集合,子集合)
      • 功能:在原集合中,查找子集合的位置
      • 返回:如果存在子集合,则返回子集合位置下标;如果不存在子集合,则返回-1
  • synchronizesList(原集合)
    • 功能:将原集合改造成一个”线程安全“的synchronized集合
    • 返回:SynchronizedRandomAccessList
    • 场景:如果当前集合需要确保线程安全,且并发访问量不大时,可以零时使用这种方式
  • unmodifiableList(原集合)
    • 功能:按照原集合中的元素内容,产生一个不允许修改的集合
    • 返回:不允许修改的集合
      【UnmodifiableRandomAccessList】

功能

  • 针对Collection接口下集合类的常见算法操作
  • 任何一项功能,都是以静态方法的形式调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值