У меня есть строка 1,3,5-10
, и мне нужно преобразовать эту строку в список целых чисел в scala. Список понравится --- >>. List(1,3,5,6,7,8,9,10)
Как будет наилучшим способом преобразовать список строк в целочисленный список, используя flatMap
.
или Что будет минимальной строкой кода в Scala для этого.
Это код, который я пытался сделать, но я хотел получить лучший способ сделать это
val selectedNumberList: mutable.MutableList[Int] = mutable.MutableList[Int]()
val numbersList = "1,3,5-10".split(",").toList
for(i <- 0 until numbersList.size ){
if(numbersList(i).contains("-")){
val splitNumberToList = numbersList(i).split("-").toList
for(j <- splitNumberToList.head.toInt to splitNumberToList.last.toInt){
selectedNumberList += j
}
}else{
selectedNumberList += numbersList(i).toInt
}
}
Приведенный выше код не использует плоскую карту но можем ли мы сделать это лучше?