天天看点

ArrayList源码+扩容机制分析

ArrayList源码+扩容机制分析

学习来自:

https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/ArrayList源码+扩容机制分析.md

十分感谢!!

ArrayList简介

ArrayList源码+扩容机制分析

Arraylist 和 Vector 的区别?

ArrayList源码+扩容机制分析

Arraylist 与 LinkedList 区别?

ArrayList源码+扩容机制分析

小总结:

1.都没有保证线程安全

2.ArrayList底层使用Object数组,LinkedList底层使用双向链表 所以后续两者的特点 不同点其实就是数组链表的特点不同点

ArrayList 核心源码解读

太长了! 具体可去上面连接看 就不贴自己博客里了

一步一步分析 ArrayList 扩容机制

ArrayList源码+扩容机制分析
ArrayList源码+扩容机制分析
ArrayList源码+扩容机制分析

grow方法 扩容背后的算法

ArrayList源码+扩容机制分析

System.arraycopy() 和 Arrays.copyOf()方法

ensureCapacity方法

通过源码分析 最后可以得知如果我们需要大量的添加数据的话 就最好使用该方法提高性能