関連サイト
本書の関連ページが用意されています。
内容紹介
◆ラムダ/ストリーム/並行機能などを説明 ◆理解を深めるための問題を掲載 ◆Java 7で追加された機能も学べる >>> 本書は、従来のJavaを知っているプログラマーを対象にしており、Javaの初歩には触れていません。Java 8の数多くの新機能を中心に解説するほか、Java 7で追加された機能も説明しています。Java 8では、ラムダ式やコレクションをはじめ、プログラミング言語やライブラリの機能が大幅に追加・更新されています。本書により、Javaの新機能を楽しみ、Javaプログラマーとしてさらなる高みに踏み込んでいきましょう。
※本書は『Java SE 8 for the Really Impatient』の翻訳書です。
書誌情報
- 著者: Cay S. Horstmann, 柴田 芳樹(訳)
- ページ数: 264ページ(PDF版換算)
- 対応フォーマット: EPUB
- 出版社: インプレス
対象読者
Javaプログラマーの初級者から上級者まで幅広く対応
著者について
Cay S. Horstmann
『Scala for the Impatient』(Addison-Wesley, 2012)の著者で、『Core Java, Volumes I and II,Ninth Edition』(Prentice Hall, 2013)の主著者でもある。プロフェッショナルなプログラマーやコンピュータサイエンス学科の学生向けの書籍を数多く執筆している。San Jose州立大学のコンピュータサイエンス学科の教授である。
柴田 芳樹
1959年生まれ。九州工業大学情報工学科で情報工学を学び、1984年同大学大学院で情報工学修士課程を修了。以来、様々なソフトウェア開発に携わっている。ゼロックス社のパロアルト研究所を含め、5年間米国に駐在してソフトウェア開発に従事。現在は、ソフトウェア開発、教育、コンサルテーションなどを行っている。
目次
訳者まえがき/謝辞
まえがき
第1章 ラムダ式とは
- 1.1 なぜラムダ式なのか
- 1.2 ラムダ式の構文
- 1.4 メソッド参照
- 1.5 コンストラクタ参照
- 1.6 変数スコープ
- 1.7 デフォルトメソッド
- 1.8 インタフェースでのstaticメソッド
- 練習問題
第2章 ストリームAPIの使い方
- 2.1 イテレーションからストリーム操作へ
- 2.2 ストリームの作成
- 2.3 filter、map、flatMapメソッド
- 2.4 サブストリームを取り出してストリームを組み合わせる
- 2.5 状態を持つ変換
- 2.6 単純なリダクション
- 2.7 Optional型
- 2.7.1 Optionalの値を扱う
- 2.7.2 Optional値を作成する
- 2.7.3 flatMapでOptional値関数を合成する
- 2.8 リダクション操作
- 2.9 結果を収集
- 2.10 マップへ収集
- 2.11 グループ分けと分割
- 2.12 基本データ型ストリーム
- 2.13 並列ストリーム
- 2.14 関数型インタフェース
- 練習問題
第3章 ラムダ式を使ったプログラミング/3.1 遅延実行
- 3.2 ラムダ式のパラメータ
- 3.3 関数型インタフェースの選択
- 3.4 関数を返す
- 3.5 合成
- 3.6 遅延
- 3.7 操作の並列化
- 3.8 例外の取り扱い
- 3.9 ラムダ式とジェネリック
- 3.10 単項操作
- 練習問題
第4章 JavaFXによるGUIプログラミング
- 4.1 Java GUIプログラミングの大まかな歴史
- 4.2 Hello, JavaFX!
- 4.3 イベント処理
- 4.4 JavaFXプロパティ
- 4.5 バインディング
- 4.6 レイアウト
- 4.7 FXML
- 4.8 CSS
- 4.9 アニメーションと特殊効果
- 4.10 おしゃれなコントロール
- 練習問題
第5章 日付と時刻の新たなAPI
- 5.1 タイムライン
- 5.2 ローカルの日付
- 5.3 日付の調整
- 5.4 ローカル時刻
- 5.5 ゾーン付き時刻
- 5.6 フォーマットと解析
- 5.7 古いコードとの相互運用
- 練習問題
第6章 並行処理の機能強化
- 6.1 アトミック値
- 6.2 ConcurrentHashMapの改善
- 6.2.1 値の更新
- 6.2.2 大量操作
- 6.2.3 セットのビュー
- 6.3 配列の並列操作
- 6.4 完了可能フューチャー/6.4.1 フューチャー
- 6.4.2 フューチャーを合成する
- 6.4.3 合成パイプライン
- 6.4.4 非同期操作を合成する
- 練習問題
第7章 Nashorn JavaScriptエンジンの活用
- 7.1 コマンドラインからNashornを実行
- 7.2 JavaからNashornを実行する
- 7.3 メソッドを呼び出す
- 7.4 オブジェクトを生成する
- 7.5 文字列/7.6 数値
- 7.7 配列を扱う
- 7.8 リストとマップ
- 7.9 ラムダ式/7.10 Javaクラスの拡張とJavaインタフェースの実装
- 7.11 例外/7.12 シェルスクリプト記述
- 7.12.1 シェルコマンドを実行する/7.12.2 文字列補間
- 7.12.3 スクリプトへの入力
- 7.13 NashornとJavaFX
- 練習問題
第8章 その他のJava 8機能を理解する
- 8.1 文字列/8.2 数値クラス
- 8.3 新たな算術関数
- 8.4 コレクション
- 8.4.1 コレクションクラスに追加されたメソッド
- 8.4.2 コンパレータ
- 8.4.3 Collectionsクラス
- 8.5 ファイルを扱う/8.5.1 行のストリーム
- 8.5.2 ディレクトリのエントリのストリーム
- 8.5.3 Base64エンコーディング
- 8.6 アノテーション
- 8.6.1 反復アノテーション
- 8.6.2 型使用アノテーション
- 8.6.3 メソッドのパラメータリフレクション
- 8.7 その他の細かな変更/8.7.1 null検査/8.7.2 遅延メッセージ
- 8.7.3 正規表現
- 8.7.4 ロケール
- 8.7.5 JDBC
- 練習問題
第9章 Java 7の機能を復習する
- 9.1 例外処理の変更/9.1.1 try-with-resources文
- 9.1.2 抑制された例外
- 9.1.3 複数の例外をキャッチする
- 9.1.4 リフレクションによるメソッド呼び出しでの容易な例外処理
- 9.2 ファイル処理/9.2.1 パス
- 9.2.2 ファイルの読み書き
- 9.2.3 ファイルとディレクトリを作成する
- 9.2.4 ファイルをコピー、移動、削除する
- 9.3 equals、hashCode、compareToのメソッドを実装する/9.3.1 null安全な同値検査
- 9.3.2 ハッシュコードを計算する
- 9.3.3 数値型を比較する
- 9.4 セキュリティ要件
- 9.5 その他の変更
- 9.5.1 文字列を数値へ変換する/9.5.2 グローバルなロガー/9.5.3 null検査
- 9.5.4 ProcessBuilder
- 9.5.5 URLClassLoader
- 9.5.6 BitSet/練習問題