1

在 Scala 中,在遍历 LinkedList 的元素时,我想要一些方法 remove() 删除当前元素并且(非常重要)使迭代器指向下一个元素(或者如果当前元素是第一个元素,则指向第一个元素最后一个;如果没有更多元素,则为 null 或其他内容)。

4

1 回答 1

0

不确定这是否是您想要的,但如何:

@annotation.tailrec
def round(xs: Set[(Int, Int)]) = {
    // here you might check if items are exhausted and possibly don't go through recursion deeper


    val suitable = xs.filter {
        case (x, i) => 
            println("Element "+x+" on position "+i)
            x != 0
    }

    // do something with suitable items

    round(xs.diff(suitable)) // next round with items that doesn't succeed in current round
}

val list = List(3,4,5)
round(list.zipWithIndex.toSet)
于 2013-04-02T10:50:55.570 回答