magazine.gifJava SE 8 実践プログラミング

訳者まえがき
まえがき

第1章 ラムダ式とは

  • 1.1 なぜラムダ式なのか
  • 1.2 ラムダ式の構文
  • 1.3 関数型インタフェース
  • 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
  • 練習問題

索引