Arraylist和Arrays

hak*_*ish -1 java arraylist

有什么区别

ArrayList<Object> al = new ArrayList<Object>(100);
Run Code Online (Sandbox Code Playgroud)

Object[] ar = new Object[100];
Run Code Online (Sandbox Code Playgroud)

内部实现有没有区别,即内存中的分配?两者都在内存中保留了100个插槽吗?

fyr*_*fyr 5

一个ArrayList<Object>拥有后盾Object[].如果您可能会溢出大小并且可以添加,则后备阵列将"调整大小"(将创建一个新阵列并将旧数据复制过来).

列表实现还提供了其他方法来处理它们.

另一件事是你可以在列表中使用泛型(1.5).