学习笔记 韩顺平 零基础30天学会Java(2024.8.18)

P514 Vector源码解读

P515 双向链表模拟

      LinkedList的添加和删除可以通过改变节点的指向完成

      遍历的时候,如果要重新遍历,要把指针调回到最前面或者最后面,才能重新全部遍历一次

      插入的时候,插入对象的next和pre都要操作,指向到链表中,不能只改链表的

P516 LinkedList源码图解

P517 List集合选择

      都是线程不安全的

P518 Set接口方法

      在Set中,重复添加不会报错,但是会返回Flase(添加成功会返回True),但是只会显示一个这样的对象,对象是不是重复是看地址,null也可以作为对象添加,而且各对象取出的顺序和添加的顺序不一致,但是取出的顺序是固定的

P519 HashSet全面说明

P520 数组链表模拟

      HashSet底层是HashMap, HashMap底层是(数组+链表+红黑树),只有数组存储效率不够高

      当达到一定大小之后会转变为红黑树,因为树的存储效率更高

      创建示例:

      结构图例:

P521 HashSet扩容机制

      源码机制(第六点是到达8个,不是超过8个):

  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值