Инициализировать ArrayList> с размером в kotlin
Я пытаюсь инициализировать список с размером в конструкторе. Но размер мой список 0.
val seqList = ArrayList<ArrayList<Int>>(N) // This has the Problem
val queries = ArrayList<Query>(Q) // This works like a charm
у меня есть оба N
и Q
установить как ненулевые входы от пользователя, скажем
N = 100
и Q = 100
во время отладки моего кода я узнал, что,queries.size() = 100
но seqList.size() = 0
мое предположение неверно, что seqList
также должны быть инициализированы с N ArrayList<Int>
объекты.
1 ответов
боюсь, ваше предположение неверно.
Цитата из документация of ArrayList
:
предоставляет
MutableList
реализация, который использует массив с изменяемым размером в качестве резервного хранилища.реализация не обеспечивает способ управления емкостью, as поддержка массива JS может быть изменена сама по себе. Нет скорости преимущество предварительное выделение размеров массива в JavaScript, поэтому эта реализация не включить любая из концепций потенциала и "прироста роста".
конструктор особенности:
ArrayList(initialCapacity = 0))
создает пустой ArrayList.
An пустой ArrayList
создается, таким образом, предоставление 100 в качестве аргумента не создаст элементы внутри списка.