Gibt es einen prägnanten Weg, über einen Stream zu iterieren und dabei Zugriff auf den Index im Stream zu haben?
String[] names = {"Sam","Pamela", "Dave", "Pascal", "Erik"};
List nameList;
Stream indices = intRange(1, names.length).boxed();
nameList = zip(indices, stream(names), SimpleEntry::new)
.filter(e -> e.getValue().length() <= e.getKey())
.map(Entry::getValue)
.collect(toList());
was im Vergleich zum dort gegebenen LINQ-Beispiel recht enttäuschend erscheint
string[] names = { "Sam", "Pamela", "Dave", "Pascal", "Erik" };
var nameList = names.Where((c, index) => c.Length <= index + 1).ToList();
Gibt es einen prägnanteren Weg?
Zudem scheint es, dass zip entweder verschoben oder entfernt wurde...