想象一下,您有以下TreeMap:
var dates = new TreeMap[Long, Tuple2[Int, Double]]()
我知道我可以通过以下方式循环播放:
dates.foreach { case (date, (id, rotation)) =>
...
}
但是在我的代码中,这个循环发生在另一个循环中,因此我希望自己进入日期键,通常使用currIndex : Int
变量,我将根据条件递增。
我认为可以做类似的事情:
date = dates.keys(currIndex)
但看起来这不可能......任何想法怎么做?
答案 0 :(得分:3)
修改:尝试解决您的评论:
您可以事先将整个密钥转换为IndexedSeq
:
val keysSeq = dates.keySet.toIndexedSeq
// later, obtain an index
val index: Int = /* ... */
// lookup the key
val (valueInt, valueDouble) = dates(keysSeq(index))
上一个回答
您可以尝试这样的事情:
dates.iterator.zipWithIndex.foreach {
case ((key, (valueInt, valueDouble)), index) =>
}
这对你有用吗?我不确定我是否正确理解你根据条件“增加[ing currIndex]”的要求......