Java flux de filtrer les éléments de l'indice spécifique

Je suis à la recherche d'une manière concise pour filtrer les éléments d'une Liste à un indice particulier. Mon exemple d'entrée ressemble à ceci:

List<Double> originalList = Arrays.asList(0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0);
List<Integer> filterIndexes = Arrays.asList(2, 4, 6, 8);

Je veux filtrer les éléments à l'index 2, 4, 6, 8. J'ai une boucle for qui ignore les éléments qui correspondent à l'indice, mais j'espérais qu'il y aurait un moyen facile de le faire à l'aide de flux. Le résultat final devrait ressembler que:

List<Double> filteredList = Arrays.asList(0.0, 1.0, 3.0, 5.0, 7.0, 9.0, 10.0);
  • C'est incroyablement facile à l'aide d'un for boucle et remove(int). Ne pas utiliser les flux pour tout.
  • Merci @PaulBoddington. Venant de .Travail NET, je suis habitué à l'utilisation de LINQ pour la plupart du tableau/liste d'activités et de ses facile de faire cela à l'aide de LINQ donc espérais quelque chose de similaire serait en Java 8 flux
  • Les ruisseaux et toute forme d'indexation ne s'entendent pas bien du tout.
  • Ces explicite de la création de la matrice des déclarations comme new Double[] {…} et new Integer[] {…} sont obsolètes. Simplement utiliser, par exemple, List<Integer> filterIndexes = Arrays.asList(2, 4, 6, 8);
  • J'ai posté une réponse à l'aide de deux, remove(int) et des ruisseaux.
InformationsquelleAutor Vedanth | 2016-03-29