【发布时间】:2015-10-11 16:38:35
【问题描述】:
我在包含四列 colA、colB、colC、colD 的文件中有条目。我需要读取该文件并创建两个不可变的数据结构映射。
colA -> (colB, colC, colD)
colB -> (colA, colC, colD)
有什么方法可以一次性完成。使用理解,我可以创建一个数组,在遍历它之后,我可以创建两个地图。但这似乎不是正确有效的方法。请指导我完成。
那么我正在做的如下
case class Mapping(col1: String, col2: String, col3: String, col4: String)
val columnList = for {
line <- io.Source.fromInputStream(getClass.getClassLoader.getResourceAsStream(file)).getLines() if (!(line startsWith ("#")))
val splittedArray: Array[String] = line.replaceAll(" ", "").split(",")
if (splittedArray.length == 4)
} yield Mapping(splittedArray(0), splittedArray(1), splittedArray(2), splittedArray(3))
val map1 = columnList.map(mapping=> (mapping.col1, mapping)).toMap
val map2 = columnList.map(mapping=> (mapping.col2, mapping)).toMap
【问题讨论】:
标签: scala data-structures scala-collections scala-2.10