是的,Java列表(List)可以動態擴容。Java中的列表實現主要有ArrayList和LinkedList兩種。它們都是實現了List接口的類。
ArrayList:ArrayList是基于數組實現的動態數組,它可以根據需要自動調整容量。當向ArrayList中添加元素時,如果當前容量不足以容納新元素,ArrayList會自動擴容。擴容時,ArrayList會創建一個新的數組,其容量為原數組的1.5倍(具體倍數可能因JDK版本而異),然后將原數組的所有元素復制到新數組中。
LinkedList:LinkedList是基于雙向鏈表實現的,它不需要預先分配固定容量。當向LinkedList中添加元素時,只需要創建一個新的節點,并將其添加到鏈表的末尾。因此,LinkedList的容量是動態的,不需要像ArrayList那樣進行擴容操作。
總之,Java列表(ArrayList和LinkedList)都可以實現動態擴容。