dire que j'ai une liste de cartes et ainsi de suite ... p> Quel est le moyen le plus rapide de créer une liste de hauteurs ou de poids?
Quelque chose comme la liste des hauteur de la liste, etc. P> La manière classique consiste à rechercher sur la carte, à utiliser une condition IF et recherchez une clé de hauteur, puis si vous avez trouvé, ajoutez-le à une liste de retour. P> < p> Quel serait le moyen équivalent de le faire à l'aide de flux? p> p>
3 Réponses :
List<Double> listHeights = maps.stream() .map(map -> map.get("height")) .filter(Objects::nonNull) .collect(Collectors.toList()); Similarly, you can do it for weight also.
ajouterait null code> à la liste résultante si la carte ne contient pas la clé
Vous pouvez planifier la liste et mapper les cartes sur les valeurs correspondantes:
List<Double> heights = maps.stream() .filter(m -> m.containsKey("height")) .map(m -> m.get("height")) .collect(Collectors.toList());
peu de crochets de fermeture manquante ) code> autour du filtre code> et
et
... et
et
contentent code> serait une meilleure alternative dans le
filtre code>
Si vous voulez obtenir les deux et aussi Peut utiliser hauteur code> et
Liste de la liste code> dans une photo, puis utilisez
collectors.groupingby code> Pas besoin de
contient < / code> ou
null code> vérifier
getordefault code> pour obtenir la liste
de hauteur ou de poids p>
et il ne devrait pas compiler, vous avez une liste> code>, mais ajoutant
mappe code> s