Size: a a a

Android Developer

2019 September 20

C

Coder in Android Developer
🤓
источник

C

Coder in Android Developer
😂
источник

C

Coder in Android Developer
а что не так с этой проверкой? int i = 0; i < array.size(); i++
вроде как i становится скажем так 1000 и по идее проверка должна остановиться не?
источник

AK

Alexey Komarov in Android Developer
array.size() растёт
источник

CO

Cyril Ovechkin in Android Developer
Это условие проверяется каждый раз при выполнении очередной итерации, но добавление элементов вызовом array.add() увеличивает размер списка на 1, поэтому граница недостижима
источник

C

Coder in Android Developer
Cyril Ovechkin
Это условие проверяется каждый раз при выполнении очередной итерации, но добавление элементов вызовом array.add() увеличивает размер списка на 1, поэтому граница недостижима
епрст!!! точно ! олично сформулирован ответ прям как из книги )
источник

CO

Cyril Ovechkin in Android Developer
Закомментируйте добавление рандомного элемента в список и получите 1000 нулей
источник

CO

Cyril Ovechkin in Android Developer
И, возвращаясь к изначальному вопросу, на Котлине аналогичное выглядит намного лучше: val array = MutableList(1000) { 0 }
источник

C

Coder in Android Developer
т.е. добавить значения в 1000 элементов у меня не получится таким образом и выход только один? это добавлять значения в элементы только циклом от 0 < 1000 так?
источник

ИМ

Иван Макеев in Android Developer
а не проще в переменную засунуть размер списка и по этой переменной проходить итерации?
источник

C

Coder in Android Developer
Иван Макеев
а не проще в переменную засунуть размер списка и по этой переменной проходить итерации?
проще, но я почему то думал так: что если добавить в конструктор ArrayList изначальный размер, то по нему я смогу пробежаться в цикле (ногами 😂 шучу)
источник

CO

Cyril Ovechkin in Android Developer
Я не очень понимаю, зачем вам 1000 нулей, а потом положить рандомы вместо нулей. Почему нельзя создать список, указав его планируемую емкость, и в цикле записать эти рандомы?
источник

CO

Cyril Ovechkin in Android Developer
Coder
проще, но я почему то думал так: что если добавить в конструктор ArrayList изначальный размер, то по нему я смогу пробежаться в цикле (ногами 😂 шучу)
Дык это не размер, это же планируемая емкость списка, чтобы не пересоздавать внутренний массив каждый раз при превышении load factor
источник

CO

Cyril Ovechkin in Android Developer
Меня отправляете читать исходники ArrayList, а сами что?
источник

ИМ

Иван Макеев in Android Developer
Coder
проще, но я почему то думал так: что если добавить в конструктор ArrayList изначальный размер, то по нему я смогу пробежаться в цикле (ногами 😂 шучу)
ну так уже вроде пришли к тому, что размер меняется от заполнения списка.
источник

C

Coder in Android Developer
Cyril Ovechkin
Дык это не размер, это же планируемая емкость списка, чтобы не пересоздавать внутренний массив каждый раз при превышении load factor
да я в курсе не так выразился сори. ну мысль то мою уловили?
источник

CO

Cyril Ovechkin in Android Developer
Мысль уловил, но так нельзя
источник

C

Coder in Android Developer
Cyril Ovechkin
Мысль уловил, но так нельзя
блин, а я губу раскатал
источник

CO

Cyril Ovechkin in Android Developer
Я лишь не уловил почему нельзя сделать так:
Random random = new Random();
int size = 1000;
List<Integer> array = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
   array.add(random.nextInt(1000));
}
источник

CO

Cyril Ovechkin in Android Developer
а еще лучше вынести size в private static final int SIZE = 1000;
источник