最近C#からJavaに移行しました。しかし、私はひどくラムダ式やIEnumerableのようなものを見逃しています.Foreach of C#。 私はJavaでラムダ式ライブラリを探しています。Javaの.NETのラムダ式
LambdaJよりも優れたライブラリがありますか?
また、Javaプログラムで直接inlinableですか?つまり、Java関数でクロージャーコードを混在させることができますか? Javaで
最近C#からJavaに移行しました。しかし、私はひどくラムダ式やIEnumerableのようなものを見逃しています.Foreach of C#。 私はJavaでラムダ式ライブラリを探しています。Javaの.NETのラムダ式
LambdaJよりも優れたライブラリがありますか?
また、Javaプログラムで直接inlinableですか?つまり、Java関数でクロージャーコードを混在させることができますか? Javaで
Java 8はネイティブにラムダをサポートしている可能性があります。これまでは、匿名の内部クラスとgoogle-guavaのようなライブラリの組み合わせを使用することができます。以下は
またはそれ以上に見ることができます他のライブラリには、Googleグアバライブラリが含まれていScala
同等のforeachループはこの
List<Foo> fooList = // some list containing foos
for (Foo foo : fooList){
// do stuff
}
のように構成されているJavaのには、ラムダ式を使用すると、彼らはクロージャを追加しているJava8まで待つことができますただし場合、ありません。あなたが得ることができる最も近いのはanonymous inner classesです。
ありがとう - しかし、私はC#のforeachキーワードに相当するものではありませんでした。私はSomeCollection.ForEach(閉鎖)を意味しました。答えの後半部分は役に立ちますが、回答は役に立ちます。内部クラスは冗長です。 – Fakrudeen
見ているFunction
およびPredicate
ラムダのような機能をエミュレートするために使用できるクラス。上記のkgradに言及すると、それぞれのインスタンスの匿名インスタンスを作成できます。
http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/base/Function.html
http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/base/Predicate.html
あなたは簡単にこれらのあなたのようなクラスを書くことができますが、グアバはイテラブルのすべての異なる種類を変換するか、フィルタリングのようなものを行うための関数と述語を利用するヘルパーメソッドの多くが含まれていますhttp://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Iterables.html
注:パンゲアは既に上記のGoogle Guavaへのリンクを投稿していますが、私は既にこの投稿を書き始めており、リンクを提供することはまだ有用であると考えていました。
おもしろいことにC#は 'IEnumerable.Foreach'と一緒に出荷されません – Gabe
@Gabe - あなたは正しいところです。私は行動を取るコレクションの取り扱い方法を意味しました。リスト .Foreach/Array.ForeachまたはIenumerable .Allなど。 –
Fakrudeen