java.util.LinkedListを反復処理している場合がありますが、場合によっては要素を追加しています。反復処理中にJava LinkedListの末尾に要素を追加する
LinkedList<Schedule> queue = new LinkedList<Schedule>(schedules);
ListIterator<Schedule> iterator = queue.listIterator();
while (iterator.hasNext()) {
Schedule schedule = iterator.next();
if(condition)
iterator.add(new Schedule());
}
問題は、私は一つのアイテムで、たとえば開始した場合、新しい項目は次のiterator.next()の呼び出しと反復終了する前に追加されていることです。
反復処理中にLinkedListの最後にアイテムを追加するにはどうすればよいですか? 別のリストを使用して最初の後にそれを繰り返しても、問題が正しく解決されないので、それを繰り返さないようにしてください。
ただ好奇心で、正式に別のリストを使用しないでください。 – UmNyobe
明らかにはありませんが、反復処理中に追加したいのは、反復処理中に新たに追加された要素も処理する必要があるためです。これが最短の方法である可能性があります。 –
いくつかの良い答えがあるhttps://stackoverflow.com/questions/993025/java-adding-elements-to-a-collection-during-iterationの重複 –