У меня есть связанный список данных рыбы, показанный здесь
//create linked list of fish data called fl
LinkedList<FishData> fl = new LinkedList<FishData>();
//Here are a few data items
fl.add(new FishData("American Eel ", 9, "Summer/Spring ", 25 , false));
fl.add(new FishData("Hammerhead Shark ", 0, "All Year ", 36, false));
fl.add(new FishData("Horseshoe Crab ", 7, "All Year except May ", 60, false));
fl.add(new FishData("Haddock ", 18, "All Year ", 0, true));
fl.add(new FishData("Tautog ", 16, "late Spring to end of year ", 3, true));
Я должен использовать итератор, чтобы удалить все ложные элементы из этого списка и распечатать его снова.Я думаю, я понимаю, как это работает логически, если бы мои элементы данных состояли только из логических значений, я думаю, что я бы сработал, но я не знаю, как посмотреть только на логическое поле элемента и удалить его, если оно ложно.это то, что я пытался и получил исключение приведения класса, я знаю, что это значит, я просто не знаю, как это исправить.
Iterator itr = fl.iterator();
while (itr.hasNext()) {
boolean w = (boolean) itr.next();
if (w = false)
itr.remove();
}
ОБНОВЛЕНИЕ:
, поэтому я отредактировал код и ятеперь у меня есть
Iterator<FishData> itr = fl.iterator();
while (itr.hasNext()) {
FishData b = (FishData) itr.next();
if (!b.w) {
itr.remove();
}
}
for (FishData element : fl) {
System.out.println(element);
}
}
, ранее я использовал цикл for для печати всего списка, но когда я его сейчас использую, ничего не печатается