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的线程安全问题

相关推荐
林森lsjs13 小时前
队列 FIFO 原理 & 手撕两种队列实现(链表 + 循环数组)—数据结构陆
java·开发语言·数据结构·队列
何以解忧,唯有..13 小时前
Python time 模块详解:时间处理与日期操作指南
开发语言·python
caimouse13 小时前
ReactOS 窗口系统分析(20):光标与图标 — cursoricon.c
c语言·开发语言
lisin-lee-cooper13 小时前
简单聊聊 OpenFeign 框架源码
java·微服务
Buke..14 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(下):OLLVM 混淆还原 sign 算法
java·javascript·爬虫·python·算法
linux-hzh14 小时前
百日算法修炼 · Day 15
java·算法
半生过往14 小时前
前端学 Java 课程笔记
java·前端·笔记
longxiaozhang614 小时前
C#运算符重载:让对象也能使用“加减乘除”
开发语言·c#
mmsx15 小时前
基于 Android 的校园信息管理系统源码
android·java·okhttp
mounter62515 小时前
GCCRS 突破与 Rust 入核:Linux 工具链的重大变革
linux·开发语言·rust·linux kernel·kernel