4. Java中的ArrayList和LinkedList有什么区别?各自的优缺点是什么?在什么场景下选择使用它们?
ArrayList和LinkedList是Java中两个常用的List接口实现类,它们都可以用来存储有序的元素,但在底层实现和性能特征上有显著的区别。1.内部实现ArrayList:ArrayList底层基于动态数组实现。它维护一个可调整大小的数组,用于存储元素。当数组的容量不足以容纳新增元素时,ArrayList会创建一个更大的新数组,并将旧数组中的元素复制到新数组中。LinkedList:Li