if (iterator.next().equals(getRandomBoolean())) {
Это никогда не так, потому что итератор содержит String
с, а не Boolean
с, поэтому вы никогда не выполните iterator.remove();
.
Вместо:
iterator.next(); // gets but ignores the next String.
if (getRandomBoolean()) {
Кроме того, ваш цикл никогда не выполняется:
while (!iterator.hasNext()) {
, поскольку итератор изначально имеет следующий элемент.
Удалите !
.
Кроме того, это:
Math.random() < 10 * 0.5
Всегда верно, потому что Math.random()
строго меньше 1, а 10 * 0.5
равно 5.
Бросьте 10 *
или выберитезначение RHS <
, которое находится между 0 и 1.