Я использую TreeMap
, и он ведет себя странно в следующем коде.Ключи и итерации TreeMap в Scala
Вот код:
import scala.collection.immutable.TreeMap
object TreeMapTest extends App{
val mp = TreeMap((0,1) -> "a", (0,2) -> "b", (1,3) -> "c", (3,4) -> "f")
mp.keys.foreach(println) //A
println("****")
mp.map(x => x._1).foreach(println) //B
}
Как вы можете видеть две линии печати (А и В) должны быть напечатаны то же самое, но результат выглядит следующим образом:
(0,1)
(0,2)
(1,3)
(3,4)
****
(0,2)
(1,3)
(3,4)
Почему это происходит здесь? Интересно, что даже IDE считает, что можно использовать эти два взаимозаменяемо и предлагает замену.
Я не думаю, что порядок «ключей» является проблемой. Похоже, что первый ключ отсутствует во втором примере. – irundaia
А, дух. Благодарю. Я предположил, что это была просто ошибка в вопросе! –