J'ai un flux de lignes de calcul maintenant je veux chunk / map / groupez-les dans un flux comme p> maintenant maintenant Je peux traiter chaque élément dans le flux comme ordre.
Je veux lire chaque élément dans le flux "ordre" comme unité de commande p> Comment puis-je diffuser des lignes -> Commandes? P> - p>
3 Réponses :
Que diriez-vous de quelque chose comme ça. Chaque valeur map est une liste. La clé est la valeur à gauche du tableau de bord impression p> afin que vous puissiez fais cela. p> impression p> Si vous ne voulez pas traiter une carte mais que je veux juste des listes de Listes de commandes Vous pouvez obtenir ceci depuis la carte. P> - code>.
List<List<String>> lists =
orders.values().stream().collect(Collectors.toList());
Le problème de la production d'une carte
Si vous allez les garder dans des structures de données, cela peut en effet être une mémoire lourde. Traitement des données telles que la lecture d'un fichier ou d'une approche similaire pourrait aider. En utilisant également une approche plus conventionnelle avec des boucles et rédiger de manière intermittenante les listes sur des fichiers séparés qui sont nommés pour refléter leur contenu pourraient fonctionner,
Vous pouvez créer une carte de votre entrée, puis collecter uniquement les valeurs de la carte
La réponse fonctionne - mais a eu un problème - il fonctionnera par toutes les lignes avant de servir des commandes
c'est vrai qui est nécessaire pour trouver des préfixes uniques, mais le mappage fonctionnera également en parallèle et sur exécuteur exécutante
J'ai trouvé une réponse de travail en utilisant deux solutions différentes Les critères sont
La première réponse est qu'il s'agit d'un problème de colonne. Il est possible de faire une fonction mais, mais mais il est difficile d'expliquer pour les autres développeurs. La solution à manquer le dernier élément est beaucoup mieux résolue en modifiant la manière dont le flux lit le prochain élément suivant et poser une question est un élément suivant. P> La solution doit changer le flux forte > em> nous pouvons également obtenir le dernier élément manipulé également. P> Ma solution finale consiste à fabriquer son propre flux fort> em> et gérer le itérateur strong> em> p> Le test ressemble à ceci p> Sortie: fort> em> p> J'ai fait une classe appelée groupes de groupes strong> em>. Cette classe fait un nouveau flux (où les éléments sont regroupés dans une liste). Un flux source est lu à l'intérieur de la classe. P> Les parties lourdes sont: p> La classe Java ressemble à ceci p>
Vous voulez donc grouper par préfixe 100-, 120-?
Je ne veux pas collecter l'ensemble du flux de "lignes" avant de voir "commandes" i> sonne comme si vous avez besoin d'une base de données afin que vous puissiez sélectionner des commandes. Les flux sont utilisés pour la collecte et la manipulation d'informations en vue de leur processus ou d'examen. ce.
regrouper java8 flux sans le collecter • Java Split Stream en prédicat dans le flux de flux