Java - 指定初始容量的固定大小列表和列表之间的差异

Hal*_*nce 2 java arrays collections list

我在理解这个问题时遇到了问题.

而我们这样做

 List<Integer> list = Arrays.asList(array);
Run Code Online (Sandbox Code Playgroud)

我们不能在该列表中使用add,remove等方法.我知道Arrays.asList()返回一个固定大小的列表.

我不明白的是,如果我们创建一个初始容量指定的列表

List<Integer> list2 = new ArrayList<Integer>(10);
Run Code Online (Sandbox Code Playgroud)

我们可以在该列表上执行所有操作.固定大小的列表和指定初始容量的列表之间有什么区别?

我已经阅读了很多这方面的答案,但很难理解这一点.谁能解释一下?

谢谢.

Sti*_*ler 5

Arrays.asList(array)返回一个类型的对象java.util.Arrays.ArrayList,它不支持添加和删除操作.

虽然下面的代码将返回一个类型的对象java.util.ArrayList,它支持添加和删除操作.

List<Integer> list2 = new ArrayList<Integer>(10);`
Run Code Online (Sandbox Code Playgroud)