Выбор ключей TreeMap по их индексу - PullRequest
2 голосов
/ 19 июля 2011

Представьте, что у вас есть следующая древовидная карта:

var dates = new TreeMap[Long, Tuple2[Int, Double]]()

Я знаю, что могу пройти через это:

dates.foreach { case (date, (id, rotation)) => 
   ...          
}

Но в моем коде этот цикл происходит в другом цикле, и поэтому я хотел бы перейти к ключам дат, как правило, с переменной currIndex : Int, которую я буду увеличивать в соответствии с условием.

Я думал, что можно сделать что-то вроде:

date = dates.keys(currIndex)

но не похоже, что это возможно ... есть идеи, как это сделать?

1 Ответ

3 голосов
/ 19 июля 2011

Редактировать: пытаясь адресовать ваш комментарий:

Заранее вы можете преобразовать целые ключи в 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] в соответствии с условием»…

...