Comment puis-je convertir ce code en flux java 8.
J'ai essayé de l'utiliser pour chacun, mais a échoué. Le code de boucle For fonctionne.
for(RestrictedInstrument restrictedInstrument : restrictedInstruments){ List<Identifier> identifierList = restrictedInstrument.getIdentifier(); setTicker(matrix, identifierList); }
La méthode setTicker ()
doit être appelée avec un objet matrix et identifierList
. p>
3 Réponses :
En supposant que restrictedInstruments soit list, vous mappez d'abord à identifierList, puis vous utilisez Stream.forEach () pour exécuter la méthode setTicker (...)
restrictedInstruments .stream() .map( RestrictedInstrument::getIdentifier ) .forEach( identifierList -> setTicker(matrix, identifierList) )
Pour les tableaux, utilisez simplement Arrays.stream ( RestrictedInstruments)
Vous pouvez simplement utiliser List.forEach ()
:
restrictedInstruments.forEach(i -> setTicker(matrix, i.getIdentifier()));
Vous pouvez diffuser la liste, puis passer simplement le consommateur qui appelle simplement la fonction setTicker.
restrictedInstruments.stream() .forEach(identifierList -> setTicker(matrix, identifierList.getIdentifier()));
Les instruments restreints sont-ils une liste?
restrictedInstruments.forEach (x -> setTicker (matrix, x.getIdentifier ()));
sirestrictedInstruments
est uneList
.Arrays.stream (restrictedInstruments) .forEach (x -> setTicker (matrix, x.getIdentifier ()));
s'il s'agit d'un tableau.Double possible de Conversion de la boucle en flux Java 8
Pourquoi voulez-vous convertir le code en un flux Java 8? Quel code avez-vous écrit pour chaque code qui a échoué? Quelle était l'erreur? Quel est le type de
RestrictedInstrument
?