- 博客(5)
- 收藏
- 关注
原创 深入理解 Java 中的 ArrayList
ArrayList 是 Java 集合框架中的一个类,实现了 `List` 接口。它基于动态数组实现,允许存储重复元素,并且元素是有序的(按插入顺序)。ArrayList是 Java 中最常用的集合类之一,它的实现基于动态数组,具有以下特点:随机访问速度快。尾部插入效率高。中间插入/删除效率低。需要额外的空间用于扩容。适合读取多、修改少的场景。不适合频繁插入/删除的场景希望这篇博客对你有所帮助!如果有任何问题或建议,欢迎在评论区留言讨论。
2025-03-01 17:55:06
412
原创 Integer的缓存池
在Integer类中存在着缓存池,而缓存池是什么呢?我们先来看一段代码和他对应的结果为啥会出现这样呢,这就是因为缓存池的存在,接下来我给大家解析一下这个缓存池的存在。
2025-02-08 23:32:40
879
原创 StringBuilder类的数据结构和扩容方式解读
StringBulider的底层同String一样都是一个字符数组,但是不同的是,StringBulider直接继承的,在这个父类中并没有使用final关键字进行定义这个字符数组,即它是一个可变的字符串,可以直接进行修改而不需要重新new一片空间并且指向该空间。那如何进行定义这个可变字符串呢//无参构造//有参构造,直接指定了空间大小。
2025-02-06 22:49:00
800
原创 String类的equals()的作用和源代码解读
equals()方法的由来继承自Object类,默认比较内存地址。重写equals()是为了根据对象的属性值判断相等性。equals()方法的源码解读默认实现包括:检查内存地址、检查null、检查类类型、强制类型转换、比较属性值。
2025-01-20 19:06:05
275
1
原创 String为什么是不可变的?
1.String不可变:任何对String的修改操作都会生成一个新的String对象,而不是修改原有的对象。2.内部数据结构:内部使用final类型的char数组数据结构的特点是不可变、线程安全、缓存哈希值。3.String方法:方法如`contains、`substring`、`charAt`等都会生成新的字符串对象,而不是修改原有的字符串。通过以上代码和解释,可以清楚地理解String的不可变性及其内部实现机制。
2025-01-19 19:31:22
1554
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人