ArrayList部门一共五篇文章了,而且引入了时间巨大度来阐明,强烈发起各人必然要按顺序阅读,本文是第2篇,相关文章别离是:
1、ArrayList初始化 – Java那些事儿专栏
再次强调,ArrayList是一个普通的类,假如我们开心,可以本身写一个。
ArrayList初始化 – Java那些事儿专栏 文章颁发后,评论区有人问如下问题。
我们先回首一下之前的所说过的数组,话不多说,上代码:
老法则,我们继承画一画,加深一下印象,昆山软件开发,上图:
这个图我们去掉了ArrayList初探 – Java那些事儿专栏 一文图里那些无用的细节(要领区,常量池等),利便各人看起来清晰,我们用eclipse的debug成果看一下,看是否与我们图上画的一致
再看一下执行功效,也在我们期望中。
既然是牢靠的,那我们要往数组里加一个“周八”用户怎么办?没步伐,只能从头new长一点的新的数组,把本来数组的元素复制已往,昆山软件开发,好吧,开始写代码吧,相信各人城市写
看到System.arraycopy()要领是不是似曾领会呢?我们在ArrayList初探 – 知乎专栏 一文中提了一下,相信看到这里,各人都知道ArrayList里的底层数组扩容是怎么实现的了吧。在ArrayList初探 – 知乎专栏 一文中,我们知道当ArrayList假如不指定结构个数的话,第一次往内里添加元素时底层数组会初始化一个长度为10的数组,我们再回首一下昨天的源码,昆山软件公司,再来看一下ArrayList里的源码,当添加第11个元素时
看到这里,相信在今后的口试中,口试官再问数组和ArrayLIst的区此外时候,各人应该有了本身的领略,而不是去不和试题了。