De String Array para indexar Map em uma linha
Digamos que você tenha um String Array
de valores únicos, por exemplo, um Array
de nomes de coluna. E digamos que você precise pesquisá-los de maneira eficiente e obter o índice por nome.
Em Java, você simplesmente criaria um novo HashMap
, iteria sobre a matriz e colocaria o valor String como chave e o índice como valor.
No Scala há uma maneira muito mais agradável e concisa
val indexByColName = columns.view.zipWithIndex.toMap
Classifique o mapa existente por suas chaves
Digamos que você tenha um mapa existente (por exemplo, o mapa do exemplo anterior) e deseja classificá-lo, aqui está um trecho rápido que o faz
val map = ... //some Map
val sortedMap = TreeMap(map.toSeq:_*)
Isso é tudo, agora se você se perguntar o que é a coisa _ *, a resposta curta é que ela é usada para dizer ao compilador para passar cada elemento da sequência individualmente para uma função / método que aceita varargs
A longa resposta pode ser encontrada aqui