Как насчет этого?
LinkedHashSet<Integer> test = new LinkedHashSet<Integer>();
Random random = new Random();
do{
test.add(random.nextInt(1000) + 1);
}while(test.size() != 1000);
Затем пользователь может выполнить итерацию через Set
с помощью цикла for.
Я предполагаю, что компилятор дает вам предупреждение в строке MoneyTransfer newTransfer;
о неявном хранении данных в storage
. Если вы явно используете MoneyTransfer storage newTransfer;
, вы получите предупреждение о том, что используете неинициализированную ссылку на хранилище. Это означает, что любые значения, введенные вами в newTransfer
, будут перезаписаны в первых нескольких слотах хранения.
Вместо этого используйте MoneyTransfer memory newTransfer;
.