Pour une entrée List(1,2,3,4,5)
, écrivez une fonction qui peut être transmise à flatMap, et renvoyez le résultat List(1,2,2,3,3,4,4,5)
.Étant donné une liste d'entrée (1,2,3,4,5), écrire une fonction qui peut être transmise à flatMap, et retourner le résultat Liste (1,2,2,3,3,4,4,5)
La solution que j'ai écrit est la suivante:
object Main extends App {
val intList = List(1,2,3,4,5)
def returnTwo(arg: Int): List[Int] = List(arg, arg + 1)
val newList = intList.flatMap(returnTwo).filter(_ <= 5)
println(newList)
}
sortie:
List(1, 2, 2, 3, 3, 4, 4, 5, 5)
Comment puis-je faire face à la 5 supplémentaire dans la liste, tout en collant au problème initial?
Dans la description que vous parlez d'une liste d'entrée de '1,2,3,4' (et rien dire' filter'), mais dans le code que vous utilisez une liste contenant ' 1,2,3,4,5'. – sepp2k
Nous avons besoin d'une clarification de l'affectation car aucune des réponses (à l'exception de @ AkshanshJain, mais en incluant les vôtres) renvoie le résultat de flatMap, elles ont besoin d'une manipulation ultérieure. Si le résultat doit provenir directement du 'flatMap' c'est assez difficile ... –
Je ne reçois pas la sortie requise .Actucal o/p devrait être List (1,2,2,3,3,4,4,5) mais je suis après avoir implémenté le filtre sur flatmap est List (1,2,2,3,3,4,4,5,5) ce qui n'est pas correct. –