Funktionale Programmierung in Java
Ist es eine gute Bibliothek für die funktionale Programmierung in Java?
Ich bin auf der Suche nach Sachen wie Prädikat und Liste.Finden() (als statische Methode). Nicht kompliziert zu implementieren, aber es wäre schön zu finden, eine wiederverwendbare Bibliothek hier.
InformationsquelleAutor der Frage ripper234 | 2009-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
FunctionalJava ist die bekannteste Bibliothek; es macht Gebrauch von Java-closures (BGGA) Beispiele:
BEARBEITEN
Schauen Sie auch lambdaj.
Weiter BEARBEITEN
BGGA ist völlig optional. Es macht einfach für eine bessere syntax.
InformationsquelleAutor der Antwort dfa
scala ist eine funktionale Programmiersprache, die vollständig kompatibel mit java (läuft durch die jvm). Es bietet eine schöne Mischung von objektorientierten und funktionalen Techniken zusammen mit vielen Verbesserungen gegenüber java generics und Parallelität. Einige sagen sogar, es könnte ersetzen Sie java.
InformationsquelleAutor der Antwort Gordon Gustafson
Java-Bibliotheken
Gibt es Bibliotheken, die helfen können Sie dies tun, indem Sie bereits tun die Beinarbeit für Sie und versteckt die Arkane Dinge:
Reifen /Etablierten Bibliotheken
Mehr Verdecken /Experimentelle Bibliotheken
Diese erlaubt das schreiben von Java-code mit einem funktionellen Ansatz, und vielleicht mehr vertraute syntax und Semantik, wie Sie erwarten würden von einem FP-kompetente Sprache. Innerhalb Grund ist.
JVM-Sprachen
Und natürlich können Sie implementieren eine funktionale Sprache, die auf der Oberseite von Java. So dass Sie dann verwenden können, dass dein FP Sprache. Das ist ein bisschen eine höhere Ebene der Abstraktion als das, was Sie gefragt, aber relativ in Zusammenhang (obwohl ich bin ein wenig geschummelt haben hier gewährt).
Zum Beispiel, check-out:
Ganz Ausgereift Sprachen
Weniger ausgereift oder weniger gebräuchlichen Sprachen
Weiter Lesen
Möglicherweise möchten Sie auch zu Lesen oder schauen Sie sich diesen Artikel oder videos:
Aus meiner P. SE Antwort auf "Ist Funktionale Programmierung Möglich in Java?"
InformationsquelleAutor der Antwort haylem
Google collections hat eine anständige Auswahl der funktionalen Programmierung Stil utility-Methoden.
Einige Klassen von Interesse sind Iterables, Iteratoren, Funktion, Funktionen, etc
Es hat auch eine Reihe von collection-Klassen, wie gut!
InformationsquelleAutor der Antwort Chi
Funktionale Java ist eine, die lohnt sich, einen Blick auf und FunctionalJ ist eine andere.
InformationsquelleAutor der Antwort mikej
Wenn Sie möchten, eine Reine Java-Lösung check-out lambdaj
http://code.google.com/p/lambdaj/
Neben der Möglichkeit zum definieren und verwenden Schließung in einem DSL-Stil, ermöglicht es auch, zu manipulieren Sammlungen in einer funktionellen Art und Weise, ohne explizit schreiben, Verschlüsse oder Schleifen
InformationsquelleAutor der Antwort Mario Fusco
Jambda ist ein weiterer FP-Bibliothek. Aus der Dokumentation:
InformationsquelleAutor der Antwort Johan Kullbom
Apache Commons hat einige funktionale-ish-code in es. Sehen Sie zum Beispiel, die Prädikat - Schnittstelle.
InformationsquelleAutor der Antwort MatrixFrog
Google Guava hat funktional:
InformationsquelleAutor der Antwort thSoft
Herunterladen oder OpenJDK 8 ausprobieren Lambda-Ausdrücke die Möglichkeit, wie Sie sich in Java 8. Unter anderem die Sammlung von APIs angepasst werden, zur Unterstützung einer funktionalen Stil. Sehen
http://macgyverdev.blogspot.se/2012/10/functional-programming-in-java.html
Beispiele für die neue Sammlung von APIs und Vergleiche mit Guave, LambdaJ und FunctionalJava.
InformationsquelleAutor der Antwort Johan Norén
Scala wurde hier bereits erwähnt, aber es ist viel leichter und Java-kompatible Sprache: Xtend. Es kompiliert plain Java und verwendet die gleiche Art von system. Es hat eine große Eclipse-Unterstützung. Sie können mischen
.java
und.xtend
Dateien in einem einzigen Projekt.Beispielcode:
InformationsquelleAutor der Antwort rzymek
Obwohl Funktionsfähig Java ist die populärste, aber ich werde vorschlagen, Sie versuchen, Google guava lib.
http://code.google.com/p/guava-libraries/
InformationsquelleAutor der Antwort Amit Mutreja