java万物之源——集合框架

Collection集合框架体系图

在这里插入图片描述

方法描述
add(E e)向集合添加单个数据,添加成功返回true,否则返回false
addAll(Collection<? extennds E> c)向集合添加批量数据,添加成功返回true,否则返回false
remove(Object o)从集合中删除单个数据,成功返回true,否则false
removeAll(Collection<?>)删除指定集合中也有的数据,成功返回true,否则false
retainAll(Collection<?>)保留指定集合中也有的数据,成功保留一个返回true
removeIf(Predicate<? super E>)按指定规则删除集合中的数据,成功删除一个返回true
clear()清空集合
Collection常用方法分类

在这里插入图片描述

List方法分类

在这里插入图片描述

下面介绍万物之源ArrayList
  • 它是基于数组的集合
  • 特点是:
    • 查询快(有索引,可直接定位查找目标的位置)
    • 有序(指的是存入的顺序和取出的顺序一致)
    • 可用存null
  • 缺点是:
    • 增删慢
  • 常用方法
  • 在这里插入图片描述
LinkedList
  • 基于链表实现的

  • 在这里插入图片描述

  • 特点:

    • 有序
    • 可重复
    • 可为null
  • 优点

    • 增删快
  • 缺点

    • 查询慢(每次查询都要从头部或尾部依次找)
ArrayList和linkedList的不同之处

在这里插入图片描述

HashMap的介绍
  • 它是以键值对存储的,一个键对应一个值

  • 基于数组和链表+红黑树实现的(jdk1.8之前都是链表+数组)

  • 无序

  • key可为null

  • key不可以以重复(重复了旧值会覆盖新值)

  • 哈希冲突

  • 扩容

HashMap的树化
  • 树化是当链表长度大于8且数组容量大于等于64时,将链表转换为红黑树的过程
  • 红黑树:是自平衡的二叉树
  • 转成红黑树的目的是为了提高查询速度,因为链表一旦长了以后查询速度会变得很慢
HashMap的链化
  • 当红黑树中的节点小于等于6时
  • 红黑树将转换成链表,这个过程称为链化,此时的节点数很少,链表与红黑树的查询速度不相上下,而且在新增元素的时候,链表不用计算节点的位置,直接插在尾部,但红黑树还要计算节点的位置 ,因此它们两个相互转化,形成了很好的互补
HashMap常用方法

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值