Je souhaite convertir des éléments de liste en map unique en tant qu'étape dans mon flux de production Akka Streams. À titre d'exemple, disons que j'avais la classe suivante.Convertir la liste en Map dans Akka Stream
case class MyClass(myString: String, myInt: Int)
Je veux convertir un List
de MyClass
cas à un Map
qui les relie clés par myString
.
Donc, si je devais List(MyClass("hello", 1), MyClass("world", 2), MyClass("hello", 3))
, je veux une carte de hello
cartographie à List(1, 3)
et world
cartographie à List(2)
.
Ce qui suit est ce que j'ai jusqu'à présent.
val flowIWant = {
Flow[MyClass].map { entry =>
entry.myString -> entry.myInt
} ??? // How to combine tuples into a single map?
}
En outre, il serait idéal pour l'écoulement pour finir par produire les entités cartographiques individuelles afin que je puisse travailler avec chacun individuellement pour la prochaine étape (je veux faire une opération sur chaque individu d'entité carte).
Je ne suis pas sûr si cela une opération de type fold
ou quoi. Merci pour toute aide.
Chacun individuellement est exactement ce que vous avez écrit: 'entry => entry.myString -> entry.myInt'. Je ne suis pas sûr de ce que vous voulez dire/vouloir accomplir. –
Cela les convertirait simplement en Tuples, n'est-ce pas? Je veux agréger les données. Donc je veux "bonjour" -> Liste (1,3) au lieu de "bonjour" -> 1 et "bonjour" -> 3 –