我相信几乎所有的同学在大大小小的笔试、面试过程中都会被问及ArrayList与LinkedList之间的异同点。对于第一种默认的构造方法,ArrayList并没有初始化容量大小,而是将列表的元素数据引用指向了一个空数组。第三种构造方法,能将一个集合作为参数传递,但集合中的元素必须继承自ArrayList中的元素。回到ArrayList#add方法,当列表容量不足时,此时会调用grow方法进行扩容。由于ArrayList是由基于数组实现,故此方法较为简单,判断是否越界,没有则根据数组下标来索引返回元素即可。remove方法删除指定位置的元素。 代码比较简单,同样也体现了基于数组实习的ArrayList在删除指定元素时的效率问题。
暂无评论