[英]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.