Добрый вечер.У меня проблемы с поиском условия, которое остановило бы цикл внутри моей программы.Я постараюсь объяснить это как можно более широко, поэтому вопрос может помочь другим в такой же ситуации:
У меня есть коллекция объектов.
С фрагментом кода внутри цикла я генерирую больше объектов.
Я хочу добавить эти объекты в коллекцию.
Как только они будут добавлены, я бы хотел перебрать их, ЕСЛИ они не были перебраны ранее.
Псевдокод:
While (!everyObjectHasBeenIteratedOver){
for (Object o : SetOfObjects){
// Generate an unknown number of objects
// Add those objects to the SetOfObjects unless they're already there
}
}
Вот и все.Единственный ответ, который я знаю, - это использование списков, которые поддерживают добавление элементов в список итерации без разбивки, однако я лично использую HashSets.
Есть идеи?
Спасибо заранее.
РЕДАКТИРОВАТЬ: Завершено использование набора для посещенных объектов и еще один для не посещенных.
Условие: while (!notVisited.isEmpty()) {...}