簡體   English   中英

如何在Java中的每個第x個項目之后將項目添加到列表

[英]How to add an item to a list after every xth item in Java

想知道實現以下目標的最優雅的方法是什么:

“在列表中的每個第x個項目之后添加一個項目”。

我有這個正在工作,但對我來說看起來很丑:

ListIterator<Something> it = items.listIterator();
    int i = 0;
    int breakPoint = 3;
    while(it.hasNext()) {
        it.next();
        i++;
        if(i == breakPoint ) {
            it.add(new Something()....);
            i = 0;
        }
    }

我寧願不使用外部庫等來執行此操作。 還有什么更優雅的方法,這些方法也可讀而不依賴技巧?

您不需要迭代器,請使用void add(int index, E element)

for (int i = 3; i < items.size(); i+=3) {
    items.add (i++, new Something());
}

這將從在索引3處添加元素開始。請注意,索引3處的原始元素將移至索引4,這就是為什么我在循環中使用i++原因(因為下一個元素應在索引7處添加,而不是在6處添加)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM