Wie wendet Funktion auf jedes collection-element, um zu mutieren, die es in Guava?
Ich bin mit Guave 11 (weil java-5) jetzt seit einem Jahr, aber ich weiß nicht scheinen, um einen Weg finden, zu tun, Groovy pro oder Scala foreach, das ist zu sagen, wenden Sie die Funktion zur Sammlung von Elementen, mutieren Sie und gibt die Sammlung der mutierten Elemente... Alle diese Methoden auf Iterables, Sammlungen etc.. praktisch kann das nicht tun. Ich don ' T wollen, verwenden Sie die for-Schleife. Vielleicht Iterables.alle() könnte diesem Zweck dienen die besten, aber es gibt keinen Weg das zu tun, Sachen wie :
Iterable result = Iterables.each(Iterables.filter(c, predicate), function);
- so möchten Sie verwandeln jedes element in einer Auflistung mit einer Funktion in Guave?
- Nein, ich will zu ändern element, transformation Unveränderlich ist, was ist es nicht ?
- was ich meinte ist eine neue Kollektion, in der jedes element ist die von einigen transformation eine weitere Sammlung?
- Ich weiß, ich würde auf jeden Fall verwenden Sie die transformation für, die. Aber manchmal brauche ich Veränderlichkeit, es ist nicht Scala 🙂
- können Sie dann bitte erklären, was genau Ihre Frage? Oder noch besser ein Beispiel geben?
- Mann ich weiß nicht, was Sie möglicherweise sehen, unklar hier. Wenn Sie verwendet haben, Groovy müssen Sie gearbeitet haben, mit iterierbar.each () - viele Male-und das ist es, was ich versuche zu finden, die in Guave.
- Vielleicht hat nicht jeder arbeitete mit Groovy oder Scala noch. Könnten Sie verbessern Ihre Frage, wenn Sie ein Beispiel geben und sagen, was Sie erwarten zu geschehen, aber was passiert eigentlich, statt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke nicht, dass die Guave enthält eine Methode, denn Java enthält eine for-each-Schleifen, es zu tun:
Bearbeiten: Ein generischer Ansatz wäre es, die Kapseln die for-each-Schleife in einer Methode auf und übergeben die mutation Strategie als argument für Sie:
forEach()
und den syntaktischen Zucker von lambdas zu helfen, schreiben Sie eineConsumer
.Ich nur die Antwort, die am nächsten Guave Methode der Datenerhebung zu Groovy ist jede Methode ist Iterables.alle. Prädikat wäre zu sagen, wenn entweder alle Mitglieder wurden angepasst oder gar keine. Obwohl ein nicht-chain-Methode aufrufen, weil Iterables.alle() returns boolean.