初始化ArrayList <ArrayList <Int >>,大小为kotlin

dro*_*hef 9 java arrays list dynamic-arrays kotlin

我试图在构造函数中初始化一个大小的列表.但是我的列表大小为0.

val seqList = ArrayList<ArrayList<Int>>(N) // This has the Problem
val queries = ArrayList<Query>(Q) // This works like a charm
Run Code Online (Sandbox Code Playgroud)

我有两个NQ设置为来自用户的非零输入让我们说 N = 100Q = 100

调试我的代码时,我发现了,queries.size() = 100但是seqList.size() = 0

我的假设是不正确的,也seqList应该用N ArrayList<Int>对象初始化.

s1m*_*nw1 8

我担心你的假设不正确.从引用文档ArrayList:

提供一种MutableList实现,它使用可调整大小的数组作为其后备存储.

此实现不提供管理容量的方法,因为支持JS数组本身可以调整大小.在JavaScript中预先分配数组大小没有速度优势,因此该实现不包括任何容量和"增长增量"概念.

特别是构造函数:

ArrayList(initialCapacity = 0))
Run Code Online (Sandbox Code Playgroud)

创建一个空的ArrayList.

创建一个 ArrayList,因此提供100作为参数将不会在列表中创建元素.