Java8の新機能の使い方や使う場面など、Java8をマスターするうえでつまづきやすい、型パラメータ、インターフェース、ラムダ式、ストリーム集中講座。
学習内容
- Java8を使った開発がスムーズにできるようになります。
- Java8の新機能をマスターできます。
受講における必要条件
- Eclipse及びJava8で開発できる環境。
- Javaでのプログラミング経験。
講座内容
講座が終了すると、次のようになります。
- Java8を使ったプログラミング設計、クラス設計が迷いなく、楽しくできるようになります。
- Java8での現場で挫折なしで即戦力になれます。
- Java Programmer SE 8 認定資格を取りたくなります。
- Java8で設計、つまづくことなく、プログラムが組みたくなる。
この講座は、次の方に向けの内容になっております。
- Javaエンジニア
- Java8をマスターしたい。
- Java8を使ったことがない。
- Java8に興味がある。
- 近々Java8を使う予定がある。
- Java8を調査しておきたい。
- Java8を使ってみたが、使いこなせていない。
- Java8に自信を持ちたい。
コース内容は、次の流れでございます。
こんな方におすすめ
- Java8をマスターしたい方。
- Java8を使った開発に携わる方。
少し講座(プレビュー)を見てみるには、JAVASE8 インタフェース ラムダ式 ストリーム 集中コース」ページの右上の「プレビューを見る」から。
カリキュラム
- はじめに:01:24
- 担当講師紹介:01:11
- 受講にて得られる知識:03:13
- JavaSE8の現状:03:13
- 受講前提条件:02:29
- 受講対象者:03:51
- セクション紹介:01:42
- 型パラメータとジェネリックス:03:16
- 型パラメータの種類と誤例:03:33
- 型パラメータサンプルプログラム:05:21
- 型パラメータを利用したオブジェクト生成:04:36
- 型パラメータの構文:04:21
- 境界型パラメータを利用したオブジェクト生成:02:14
- コレクションの基本的な操作:04:10
- ジェネリックス型に型パラメータを利用したプログラム:07:29
- 型パラメータを持つコレクションのオブジェクト生成および要素表示:04:16
- 型パラメータ(?)を利用したプログラム:04:33
- コレクションの基本的な操作:03:24
- 戻値の型宣言が指定された構文:05:58
- 型パラメータとジェネリックス練習問題1:04:20
- 型パラメータとジェネリックス練習問題2:02:57
- インタフェース:02:40
- SE7までのインタフェースの特徴:08:48
- SE8インタフェースの特徴:03:13
- インタフェースのまとめ:04:09
- SE8インタフェースを利用したサンプルプログラム:09:37
- 関数型インタフェースサンプルプログラムと構文解説:04:11
- 関数型インタフェースのオブジェクト生成と利用方法:04:36
- SE8にて利用できる主な関数型インタフェース一覧:07:08
- インタフェース練習問題1:03:55
- インタフェース練習問題2:04:55
- コレクションの基本的な操作:03:24
- 戻値の型宣言が指定された構文:05:58
- ラムダ式とメソッド参照:01:46
- 今までの実装とラムダ式を使った実装:08:21
- ラムダ式をメソッドとして捉える:10:42
- ラムダ式内に複数文を記述:11:35
- 関数型インタフェースの構文を解説:04:21
- ラムダ式と戻値の関係:08:32
- 静的メソッド参照:09:33
- インスタンスメソッド参照:06:51
- コンストラクタ参照:13:21
- ラムダ式の構文パターンを整理:05:17
- 引数としての関数型インタフェース:07:39
- ラムダ式による文字列操作:04:26
- ラムダ式の価値を再確認する:07:14
- ラムダ式練習問題1:05:49
- ラムダ式練習問題2:04:19
- ストリームAPI:06:45
- システムにおけるストリームの位置:03:50
- ストリームの種類とパイプライン:07:06
- 終端操作の主なメソッド:08:55
- 中間操作の主なメソッド:08:38
- ストリームとラムダ式の関係:20:26
- ストリームの終端操作1(真偽を取得):07:12
- ストリームの終端操作2(集約結果を取得):09:48
- ストリームの中間操作1(汎用性の高いメソッド):07:04
- ストリームの中間操作2(文字列操作):11:12
- ストリームの中間操作3(平坦化):07:23
- ストリームの中間操作4(デバック):08:44
- ストリームのパイプラインを分解する:07:21
- ストリームのパイプライン実行順序:06:10
- ストリームの型変換:04:31
- ストリーム処理の誤例紹介:07:22
- ストリームAPI練習問題1:05:15
- ストリームAPI練習問題2:05:06
- 業務プログラムへの応用:03:45
- ラムダ式を引数として利用する:09:58
- Consumer
を引数として利用する:07:56 - Supplier
を引数として利用する:09:12 - Function
を引数として利用する:05:21 - Predicate
を引数として利用する:03:47 - BinaryOperatot
を引数として利用する:08:58 - 関数型インタフェースを利用して検索を行う:09:04
- 関数型インタフェースをコレクション要素として利用する:05:26
- ストリームを引数や戻値として利用する:04:54
- 業務プログラムへの応用 練習問題1:04:57
- 業務プログラムへの応用 練習問題2:03:09
- SE8応用プログラミング:02:27
- List
を取得する:28:17 - Listから1個の結果を取得する:11:18
- ListからSetを取得する:05:33
- ListからMapを取得する:13:43
- Listからキーごとの要素を持つMapを取得する:10:01
- Listから真偽ごとのMapを取得する:04:12
- CollectメソッドとCollectorsクラスの解説:07:55
- SE8応用プログラミング 練習問題1:05:30
- SE8応用プログラミング 練習問題2:06:57
- おわりに:02:30
「JAVASE8 インタフェース ラムダ式 ストリーム 集中コース」制作にあたっての雑感
インタフェースへの大幅な改造
JavaSE7との違い
インタフェースへ実態(プログラム)を持たせる事が可能となった。
インタフェースはクラスとほぼ同じ機能を持つ事になりました。
効果
あるプロジェクトの開発を行う場合、クラスは「プロジェクト固有のプログラム内容」となり、インタフェースは「プロジェクトにとらわれない汎用的なプログラム」を記述する。
解決された問題点
前回システムのプログラムを次回システムへ流用するかいなかの基本的な判断は「前回システムのクラスは捨てる」「インタフェースは利用する(持ち越す)」が標準的な発想になる。
ラムダ式の効果
JavaSE7との違い
全ラムダ式の機能を新規追加。
効果
ラムダ式の型名はシグニチャなので、シグニチャ単位でプログラムを記述する事が可能となった。つまり「メソッド単位でのプログラム」の記述が可能になった。
解決された問題点
メソッドを引数で渡したいと判断した時、メソッドが存在するクラスのオブジェクトを渡すしか方法が無かった。SE8ではラムダ式(メソッド)だけを引数で渡す事が可能となった。つまり、実行したい処理部分のみ(ラムダ式)としての記述できる。なお、ラムダ式はストリームの記述としても使われています。
ストリームの効果
全ストリームの機能を新規追加
処理速度の改善、ビックデータ対策を一つの目的としている、かつ、できるだけストリームの構文的なプログラムを記述させる事で、プログラマーの冗長的な部分を排除させる目的がある。
効果
ストリームの構文を利用して処理を記述する事で、大幅な処理速度の改善が期待でき
る。
ストリーム処理の基本が「コレクション.中間操作.中間操作.中間操作・・・・終端操作」となっており、その効果は
- 処理対象となるコレクションと処理結果を求める終端操作の対応が理解しやすい。これは、ストリーム処理が1文になっているので、先頭と最終を見れば何をしている文であるかを理解しやすい。
- 中間操作は処理速度が最も良い方法で行われている。つまり、中間操作は終端操作を意識した最も効率の良い処理を行っている可能性が高い。
結論
サーバー処理等で問題点となりやすい、ビックデータ対策、かつ、応答時間の向上対策としてへの英断的な修正が、ストリーム機能をSE8へ新規追加させた理由であると思います。
並行処理関連クラスやインタフェースの追加※本コースには含まれておりません。
JavaSE7との違い
並行処理(スレッドセーフ)を提供するクラスやインタフェースが新規追加された。
解決された問題点
マルチスレッドプログラミングが記述しやすくなった。
監視機能が増えている※本コースには含まれておりません。
JavaSE7との違い
各スレッドを監視したり、ファイルやフォルダへの追加更新削除の監視および許可不許可機能が追加されている。
受講生からのレビュー、フィードバック又は購入はこちらから。