У меня есть запись в файле с четырьмя столбцами colA, colB, colC, colD. Мне нужно прочитать этот файл и создать два неизменных сопоставления структуры данных.создать две неизменяемые структуры данных за один раз, используя scala для понимания или любую другую функцию.
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