タグ

java8とlambdaに関するlearnのブックマーク (25)

  • Java 8を関数型っぽく使うためのおまじない - きしだのHatena

    やあ、3月に延期になったとはいえ、Java 8リリースが具体化してきましたね。 もうこれで、Lambdaがはずれるとかいうことはなさそうです。 ところで、Java 8で関数型っぽいことができるようになってうれしいのですが、ちょっと記述が冗長です。ということで、短く書けるおまじない考えてみました。 Function型 さて、まずはJava 8で標準で入ったFunction型をみてみましょう。パッケージ名まで含めるとjava.util.funciton.Functionです。 こんな感じで使います。 Function<String, String> enclose = s -> "[" + s + "]"; Genericsでの型指定の最初が引数、あとが戻り値の型です。ここではStringをとってStringを返す関数としてencloseを定義しています。 これを呼び出そうとすると、こんな感じ

    Java 8を関数型っぽく使うためのおまじない - きしだのHatena
    learn
    learn 2013/05/26
    Function型
  • ProjectLambda・第2版・1部(関数型インターフェース〜ラムダ式) - きつねとJava!

    →2部(ラムダ式(実質的にfinal・スコープなど)〜メソッド・コンストラクタ参照)ここで使用されているサンプルは、lambda-8-b84-03_apr_2013に基づいて作成されています。現在の仕様とは違っている点があるかもしれませんので注意してください。 第2版の説明 以前からProjectLambdaについていろいろ書いてきました。 最初の投稿は2012/2/14、バレンタインの日でした。(投稿日が物語るように恋人居ないんです) 思えば一年以上前、志望校の一般入試が終わって精神的に解放されたころでした。(受験勉強中にProjectLambdaで遊んで現実逃避してたのは内緒w) あの頃と今とではかなり仕様が変わってしまっています。なので、書き直してみたいと思いますのでお付き合いください。 なお、参考のために古い記事も消さずに残しておきます。 ProjectLambda対応JDKの導入

    ProjectLambda・第2版・1部(関数型インターフェース〜ラムダ式) - きつねとJava!
  • Project Lambda ハンズオン資料 2012.07.25

    2012.07.25 (水) 19:00 - 21:00 小出 洋 (九州工業大学), 櫻庭 祐一 (Java in the Box) 目次 はじめに Lambda 式 Project Lambda ハンズオン 最後に ハンズオン課題 https://gist.github.com/3169839 ハンズオン模範解答 https://gist.github.com/3187589 課題解説編 lambdaanswers.html はじめに Project Lambda は OpenJDK のサブプロジェクトで、Java SE 8 の主要な機能の 1 つである Lambda 式の仕様策定および参照実装を行っています。また、Lambda 式の導入に伴って、以下に示す機能についても仕様策定を行っています。 メソッド参照 インタフェースのデフォルト実装 コレクションフレームワークの改良 ハンズオ

  • Project Lambda ハンズオン資料 2012.07.25

    2012.07.25 (水) 19:00 - 21:00 小出 洋 (九州工業大学), 櫻庭 祐一 (Java in the Box) はじめに Project Lambda は OpenJDK のサブプロジェクトで、Java SE 8 の主要な機能の 1 つである Lambda 式の仕様策定および参照実装を行っています。また、Lambda 式の導入に伴って、以下に示す機能についても仕様策定を行っています。 メソッド参照 インタフェースのデフォルト実装 コレクションフレームワークの改良 ハンズオンでは、来るべき Java SE 8 に備え、これらの機能を実際に体験してみます。 なお、ハンズオンで使用する Project Lambda の仕様はまだ最終的なものではありません。今後、Java SE 8 がリリースされるまでに変更される可能性もあることをご承知おきください。 Lambda

  • Java 8 vs Scala: 特徴を比較する

    Java 8はついにラムダ式を導入します。ラムダ式自体は2009年からProject Lambdaで利用することができました。当時はラムダ式はJava Closuresと言われていました。サンプルコードを紹介する前に、ラムダ式がJavaプログラマにとってなぜ歓迎すべき機能なのかを説明しましょう。 なぜラムダ式を使うのか ラムダ式の一般的な使い方はGUI開発においてです。一般的に、GUIプログラミングではイベントと結びつく振る舞いを解決する必要があります。例えば、ユーザがボタンを押したとき(イベントが発生したとき), プログラミングは何らかの処理を実行する必要があります。例えば、Swingでは、次のコードで示すようにActionListenersを使います。 class ButtonHandler implements ActionListener { public void actionP

    Java 8 vs Scala: 特徴を比較する