gpt4 book ai didi

java - 删除偶数索引处的元素

转载 作者:行者123 更新时间:2023-12-02 00:57:21 25 4
gpt4 key购买 nike

removeElementsAtEvenIndices() 方法应删除 LinkedList 中偶数索引处的对象。例如,如果 LinkedList 包含 { Apple, Banana, Melon, Orange },那么调用此方法后,LinkedList 应包含 { Banana, Orange } 因为索引 0 处的 Applet 和索引 2 处的 Melon 需要删除。 LinkedList 中的每个元素都可以从索引 0 开始标记,并且基于此假设,应该删除元素。如果 LinkedList 不包含任何元素,则该方法不应更改其内容。

我目前有这段代码,但它只会删除奇怪的索引。

 public void removeElementsAtEvenIndices()
{
ListIterator iterator = listIterator();
while(iterator.hasNext())
{
iterator.next();
if(iterator.hasNext())
{
iterator.next();
iterator.remove();
}
}

}

最佳答案

按照您当前的方法,您会这样做:

public void removeElementsAtEvenIndices()
{
ListIterator iterator = listIterator();
while (iterator.hasNext())
{
iterator.next();
iterator.remove();
if (iterator.hasNext()) iterator.next();
}
}

但是,我会让意图更清楚:

public void removeElementsAtEvenIndices()
{
ListIterator iterator = listIterator();
for (int i=0; iterator.hasNext(); i++)
{
iterator.next();
if ((i % 2) == 0) iterator.remove();
}
}

或者也许是这样:

public void removeElementsAtEvenIndices()
{
ListIterator iterator = listIterator();
for (boolean even=true; iterator.hasNext(); even=!even)
{
iterator.next();
if (even) iterator.remove();
}
}

关于java - 删除偶数索引处的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61177712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com