Java中的集合概要

集合:集合是一种容器,用来装数据的,类似于数组,但集合的大小可变,开发中也经常使用.

集合体系结构

Collection集合

Collection是所有单列集合的鼻祖,实现类的大部分方法都继承了它

Collection集合特点:

方法

遍历方式

迭代器

增强型for循环

lambda表达式

List系列集合

  List集合的方法:

   List的遍历方式

  ArrayList集合底层原理
  • 基于数组实现

  • 查询速度快(是根据索引查询数据快):根据地址值和索引定位

  • 删除效率低

  • 添加效率低:数据后移或扩容

LinkedList集合底层原理

LinkedList应用场景之一

用来设计队列--先进先出 对首尾进行频繁操作

用来设计栈--先进后出 后进先出

Set系列集合

前引--什么是哈希值

HashSet集合的底层原理

JDK8之前:

JDK8之后:

先了解一下红黑树--一种平衡二叉树

现在的HashSet是可重复的 因为不同的对象的哈希值大概率是不一样的 如果想要让集合不可重复,重写hashCode()方法和equals()方法 赋予相同的hashcode 虽然也有数组但是插入的顺序随机 设置无索引

LinkedHashSet底层原理

TreeSet底层原理

代码演示:

红黑树是什么?

总结:(不同单列集合适用的场景)

集合并发异常问题:

解决的方法:

for循环和迭代器遍历都有相对的解决方法,但是增强型for循环和foreach(lambda)循环而无法解决

因为增强型for循环就是一个简易的迭代器循环 但是不能使用迭代器的remove方法 而foreach的底层就是增强型for循环,所以这两种方法不能解决

Collection其它相关知识

可变参数

Collections 工具类

对于第四点排序的两种方法:

Map集合

Map集合体系

方法

遍历方式

HashMap集合底层原理

LinkedHashMap集合底层原理

TreeMap集合底层原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值