- 博客(2)
- 收藏
- 关注
原创 JAVA中LinkedList和ArrayList的区别
1.底层数据结构ArrayList:基于动态数组,内存连续储存LinkedList:基于双向链表,节点包含前后指针2.访问性能ArrayList:随机访问O(1)(直接索引)LinkedList:随机访问O(n)(需遍历)3.插入/删除性能ArrayList:中间/头部操作O(n)(需移动元素)尾部操作O(1)(扩容时O(n))中间操作O(n)(遍历)+O(1)(修改指针)头尾操作O(1)4.适用场景优先ArrayList:高频随机访问/尾部操作/内存敏感场景。
2025-07-23 21:13:03
1170
原创 StringBuffer和StringBuilder两者的扩容机制
注:因为StringBuilder没有synchronized同步锁,线程不安全,适用于单线程处理大量数据,StingBuffer有同步锁,所以适合多线程处理数据,效率较低但可以保证线程安全。若输入的字符串减去剩余容量为整数则不用触发扩展机制,若为负数则会触发扩展机制,直到扩展到足够容量。当使用append()方法时添加元素时,数组容量不够时,就会触发默认扩容机制,扩大2倍+2。当使用append()追加元素时就会调用父类的方法。
2025-01-19 20:36:07
218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅