JAVA八股——J集合篇

目录

一、集合体系

二、List

1.ArrayList底层的实现原理是么.

[2.ArrayList list=new ArrayList(10)中的list广容几次](#2.ArrayList list=new ArrayList(10)中的list广容几次)

​编辑3.如何实现数组和List之间的转换​编辑

​编辑

[4.ArrayList 和 LinkedList 的区别是什么?](#4.ArrayList 和 LinkedList 的区别是什么?)

三、Map

1.说一下HashMap的实现原理?

2.HashMap的jdk1.7和jdk1.8有什么区别?

3.HashMap的put方法的具体流程

4.HashMap的扩容机制

5.HashMap的线程安全问题


一、集合体系

二、List

1.ArrayList底层的实现原理是么.

2.ArrayList list=new ArrayList(10)中的list广容几次

3.如何实现数组和List之间的转换

4.ArrayList 和 LinkedList 的区别是什么?

底层数据、结构效率、空间线程、是否安全

三、Map

1.说一下HashMap的实现原理?

数组+链表或者数组+红黑树。添加元素时,根据key计算下标,把value添加到对于下标的位置,如果出现相同的值,就在这个下标处开一个链表或者红黑树挂载。

2.HashMap的jdk1.7和jdk1.8有什么区别?

JDK1.8之前采用的拉链法,数组+链表

JDK1.8之后采用数组+链表+红黑树,链表长度大于8且数组长度大于64则会从链表转化为红黑树

3.HashMap的put方法的具体流程

4.HashMap的扩容机制

5.HashMap的线程安全问题

相关推荐
AOwhisky6 小时前
Python 学习笔记(第一期与第二期)——基础语法——核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发
什巳8 小时前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
豆瓣鸡8 小时前
RocketMQ学习-Spring Boot消息实践
java·spring boot·rocketmq
喜欢的名字被抢了8 小时前
Python实战:SQLAlchemy ORM与FastAPI项目集成
开发语言·python·sql·教程·fastapi
wuqingshun3141599 小时前
说一下mysql的覆盖索引
java
罗超驿9 小时前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
栈溢出了10 小时前
Redis 分片集群与哈希槽笔记
java·redis·笔记·spring
遨游DATA10 小时前
Spring Boot 启动失败排查:如何区分多 Bean 冲突与清理阶段异常
java·spring boot·后端
从零开始的代码生活_11 小时前
C++ 内存管理:从内存分区到 new/delete 底层原理
开发语言·c++·后端