Добрый вечер. Читал код и понял, что надо узнать у профессионалов.
int index = (int) ((Math.random() * 1000) % (DrugsController.allDrugs.size())); Как я понял рандом до 999 а дальше не понятно? и Класс.мап.размер
List<Drug> drugs = new ArrayList<>(DrugsController.allDrugs.keySet()); лист с парам. с количеством как Класс.мап.размерКлючей.
Если неправильно, пожалуйста, поправьте.
БелК в труселях
35 уровень
Добрый вечер. Читал код и понял, что надо узнать у профессионалов
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
30 ноября 2021, 20:51
У меня такое ощущение, что ты на каком-то неизвестном языке вопрос задал... Ничего непонятно.
0
БелК в труселях
1 декабря 2021, 05:38
Доброе утро Ксения. Как это расшифровать?
int index = (int) ((Math.random() * 1000) % (DrugsController.allDrugs.size()));
List<Drug> drugs = new ArrayList<>(DrugsController.allDrugs.keySet());
0
hidden #598481
1 декабря 2021, 07:18
ну разбирай ты выражения на кусочки, чтобы было понятно.
что такое Это остаток от деления a на b.
только a - это у тебя (int) ((Math.random() * 1000), т.е. псевдослучайное число в диапазоне до 1000
b - DrugsController.allDrugs.size(), то есть размер коллекции DrugsController.allDrugs.
Получается, что у тебя результат всегда меньше allDrugs.size().
Зачем нужны эти пляски с бубном спроси у автора кода.
Что такое DrugsController.allDrugs? Это судя по всему мапа, у которой ключами являются объекты Drug. allDrugs.keyset() возвращает сет ключей. Этот сет передается в параметр конструктора ArrayList, чтобы дальше работать не с сетом, а со списком.
+3
БелК в труселях
1 декабря 2021, 14:47
Спасибо меня смутил %. Теперь понятней стало. Еще раз спасибо
+1