おためし受講中

Java 8入門 -1回目(ラムダ式)-

2014年に Java 8がリリースされました。Java 8の主要な追加機能は以下の通りです。

  • 関数を扱うラムダ式文法の追加
  • 要素の集合を扱う Stream APIの追加
  • インターフェースへの defaultメソッドの追加
  • 新しい日付API、Date and Time APIの追加
  • 並列処理API、 completableFutureの追加

 

今回の授業では、上記のうちJavaのプログラムの書き方に大きく影響するラムダ式とStream APIについて2回に分けて学習します。ラムダ式と Stream APIを使うことで、従来より短く簡単にプログラムを書けるようになります。

1回目はラムダ式について学習します。
ラムダ式の概要やメリット、ラムダ式を使ったプログラム方法を学びます。

この授業は、クラスやメソッドの作成、コレクションの操作ができるなど、Javaについてある程度理解している方を対象にしています。授業で使用するソースコードは公開しますので、授業中にご自身のPCでソースを実際に実行いただけます。eclipse、NetBeans、IDEAなど好みの開発環境を用意することを推奨します。

 

■ この授業で学べること

  • ラムダ式の概要
  • ラムダ式の書き方
  • 関数型インターフェース
  • ラムダ式を用いたプログラムの作成

 

<サンプルファイルについて>
今回の授業で使用するソースコード(Github) 適宜参照していただくか、zipでダウンロードしてローカルで実行してみてください。

▼取り込み方
1. zipファイル形式でダウンロードし、適当なフォルダに解凍します。
2. eclipseの場合、プロジェクトのインポートかmaven形式プロジェクトのインポートで上記のフォルダをeclipseにインポートします。
3. Idea, NetBeansの場合、"プロジェクトを開く"から、1で展開したフォルダまたはフォルダの中のpom.xmlを選択します。

 

 

学生代表

  • 青島 莉子

    青島 莉子

    スクー放送部

【ノート機能】
授業内容や覚えておきたいポイントなど、ノートに自由に残せます

再生位置挿入 資料挿入
筆記アシスト
ONOFF
    【チャプター機能】
    授業内容をピンポイントでおさえながら
    ご自身のペースで進めることができます
    【前半】授業
    自己紹介
    01:29  (00:14 ~ )
    授業の目的
    00:32  (01:43 ~ )
    ラムダ式の概要
    00:18  (02:15 ~ )
    質問:ラムダ式を使ったことはありますか?
    02:31  (02:33 ~ )
    ラムダ式は関数を定義する方法の1つ
    02:06  (05:04 ~ )
    ラムダ式の利点
    01:48  (07:10 ~ )
    Java8でラムダ式が導入された理由
    02:02  (08:58 ~ )
    ラムダ式の書き方
    00:32  (11:00 ~ )
    Collections#sortで要素の並び替えを行う
    02:03  (11:32 ~ )
    Comparaterの実装を作成する3つの方法
    09:54  (13:35 ~ )
    関数型インターフェースとラムダ式
    00:43  (23:29 ~ )
    関数型インターフェース
    02:37  (24:12 ~ )
    Java8におけるラムダ式の実現方法
    05:00  (26:49 ~ )
    標準関数型インターフェース
    02:41  (31:49 ~ )
    ラムダ式を使うプログラムの使用例
    00:30  (34:30 ~ )
    使用例1:List#forEach
    04:11  (35:00 ~ )
    使用例2:Map#forEach
    02:52  (39:11 ~ )
    使用例3:Map#compute
    07:14  (42:03 ~ )
    まとめ
    01:10  (49:17 ~ )
    【後半】質疑応答
    Q:ラムダ式の中で例外が発生する場合に、概してどのようにハンドリングするのが推奨されますか?
    02:31  (50:53 ~ )
    Q:Map#compute()で値が「存在しない」場合と、実際に値としてnullが存在する場合はどのように区別すればよいですか?
    01:57  (53:24 ~ )
    Q:Android開発にJava8が適用されるのはいつ頃になると思いますか?
    00:56  (55:21 ~ )
    Q:スレッドに絡めて説明をお聞きしたいです。
    00:44  (56:17 ~ )
    次回授業について
      (57:01 ~ )