【发布时间】:2013-07-23 14:23:26
【问题描述】:
我想做的就是转换以下内容:
List(2, 4, 6, 8, 10) 到 Map(0 -> 2, 1 -> 4, 2 -> 6, 3 -> 8, 4 -> 10 )。换句话说,将索引映射到值。这应该很容易,但我错过了一些东西。
谁能提出一个简单的方法来做到这一点?
UPD:只是为了概括解决方案。假设我需要对值进行额外的转换。例如,用List(_) 包装它。在我们的例子中:
List(2, 4, 6, 8, 10) -> Map(0 -> List(2), 1 -> List(4), 2 -> List(6), 3 -> List(8), 4 -> List(10))
【问题讨论】:
-
为什么不直接将其转换为
IndexedSeq(即myList.toIndexedSeq)?它会更快并且(可能)更紧凑。 -
我需要一张地图,因为我打算在功能中使用值/键执行一些额外的操作。但是是的,如果您需要快速随机访问,
IndexedSeq将是最好的解决方案。
标签: list scala collections map