mac*_*ian 1 java arrays arraylist
创建一个数组并在Java中创建一个arraylist同样的东西?我听到很多不同的故事,如果你能指出我正确的方向,我会非常感激:)
数组是原始结构.它是顺序内存,由JVM分配.
arraylist在其后面使用数组,但您无法直接访问它.它可以"增长",而常规阵列则不能.
基本上,一个arraylist开始(默认情况下),后面有一个长度为10的数组,数量为0.所以想象你有
ArrayList<Integer> myInts = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)
这背后是一个像这样的数组
count = 0
array = [ null, null, null, null, null, null, null, null, null, null ]
Run Code Online (Sandbox Code Playgroud)
当你去myInts.add(5);它时这样做
count = 1
array = [ 5, null, null, null, null, null, null, null, null, null ]
Run Code Online (Sandbox Code Playgroud)
如果你添加更多,你可以得到这个
count = 10
array = [ 5, 4, 3, 2, 1, 5, 8, 3, 0, -1 ]
Run Code Online (Sandbox Code Playgroud)
如果你再添加一个(这将超出其容量),它将创建一个新阵列来支持它
count = 11
array = [ 5, 4, 3, 2, 1, 5, 8, 3, 0, -1, 9, null, null, null, null, null, null, null, null, null ]
Run Code Online (Sandbox Code Playgroud)
如果需要,可以更改后备阵列的大小.例如:
myInts.trimToSize();
count = 11 // hasn't changed
array = [ 5, 4, 3, 2, 1, 5, 8, 3, 0, -1, 9]
myInts.ensureCapacity(15);
count = 11 // hasn't changed
array = [ 5, 4, 3, 2, 1, 5, 8, 3, 0, -1, 9, null, null, null, null,]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |