Я пытаюсь реализовать алгоритм, который неоднократно применяет операции к коллекции (в настоящее время список). На каждом этапе элементы могут быть добавлены, удалены и изменены (с использованием методов получения и установки) в коллекции. Алгоритм повторяется до тех пор, пока в предыдущем шаге не было внесено никаких изменений в коллекцию.
Порядок элементов не имеет значения. Однако доступ к измененному или созданному элементу не должен осуществляться до следующего цикла.
Мой подход состоял в том, чтобы иметь большой основной цикл и внутренний цикл, который применяет алгоритм и копирует измененные, созданные и неизмененные элементы во второй список. После завершения внутреннего цикла исходный список очищается и заменяется новым. Основной цикл завершается, если новый и старый список содержат одинаковые элементы.
Каков наилучший способ сделать это? Есть ли коллекция, которая поддерживает это из коробки? Третья сторона тоже в порядке.
Любая помощь будет принята с благодарностью!