PDF 课件和源代码下载地址:
https://gitee.com/geektime-geekbang/LetsJava
作者回复: ArrayList应该是最常用的。LinkedList消耗的内存会多不少,而且读写操作都比较费劲。唯一的好处是扩容不需要消费太多内存
作者回复: ✅,包括删除最后一个,双向链表都会更快一些。
作者回复: 首先,这只是接口的引用,而非接口。java是不允许创建接口的实例的。 搞清楚这个,后面的就好理解了。接口最后肯定会有一个实现类,否则无法创建其实例。接口的引用指向了一个实现接口的类的实例。这个实例的类必然继承自Object类(直接或间接),这也是java语言的规范。所以任何引用都可以调用Object里的方法。当然也包括接口引用指向的实例。
作者回复: 遍历不问size和顺序😁
作者回复: Java是有内存回收器的,不需要人肉写代码释放内存
作者回复: ✅,任何一个Java的类都会直接或者间接继承Object里的所有方法