如何使用for循环遍历列表,可以不迭代列表中的最后一个元素。
在我的情况下,我想不迭代第一个元素,并且需要倒序迭代。以下是我的代码:
for( thing <- things.reverse) {
//do some computation iterating over every element;
//break out of loop when first element is reached
}
您可以在翻转列表之前删除第一个项目:
for(thing <- things.drop(1).reverse) {
}
对于列表而言,drop(1)
和 tail
在列表非空时是相同的:
for(thing <- things.tail.reverse) {
}
或者你可以首先执行相反的操作,使用dropRight
:
for(thing <- things.reverse.dropRight(1)) {
}
如果列表非空,您也可以使用init
:
for(thing <- things.reverse.init) {
}
如Régis所述,for(thing <- things.tail.reverse) {}
init
е’Ңtail
жқҘд»ЈжӣҝdropRight
е’Ңdrop
гҖӮеҺҹж„ҸдёҚеҸҳпјҢд»…ж¶ҰиүІе’Ңз®ҖеҢ–иҜӯиЁҖпјҢж— и§ЈйҮҠиҝ”еӣһе…¶д»–дҝЎжҒҜгҖӮ - Régis Jean-Gilles.view
(理论上更好,但在实践中并不总是很有效)或者使用.iterator
(接口有点别扭,但得到了广泛支持),以避免实际构造反转/删除后的值。 - copumpkin