目 次 第1章 1 はじめに 1.1 インターネット環境でのプログラミングと Java . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 大規模プログラミングとオブジェクト指向 . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 仮想マシン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 準備 — 必要なクラスのコンパイル — . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 準備 — ソフトウェアなどの入手 — 第2章 オブジェクトの生成とメソッド呼出し 8 2.1 オブジェクトとクラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 タートルグラフィックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 最初の例題 — オブジェクトの生成とメソッド呼出し — . . . . . . . . . . . . . . . . . . . 9 2.4 コンパイルと実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.5 TurtleFrame と Turtle の仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.6 次の例題 — コンストラクタとメソッドの多重定義(オーバーロード)— . . . . . . . . . . 15 2.7 さらにもう一つの例題 — 値を返すメソッドとインスタンス変数 — . . . . . . . . . . . . . 18 2.8 オブジェクトとは? — 再び . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 第3章 クラス変数とクラスメソッド 23 3.1 パッケージと import 宣言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 Java API の利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3 クラス変数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.5 Java API に現れるクラス変数,クラスメソッド . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.1 java.awt.Color クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.2 Math クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5.3 System クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5.4 String クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4 クラスメソッド 第4章 31 処理の流れ 4.1 for 文による繰返し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 vi 4.2 繰返しのネスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3 while 文による繰返し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4 論理演算子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.5 if 文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.6 break 文 と continue 文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.7 switch 文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 第5章 43 配 列 5.1 配 列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2 初期値をもった配列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.3 多次元の配列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.4 配列の配列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.5 拡張された for 文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.6 main の引数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 第6章 プリミティブ型と演算子 6.1 プリミティブ型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 53 6.2 数の演算とキャスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.3 変数への代入とキャスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.4 式と文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.5 変数の値を変化させる演算子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.6 演算子の優先順位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.7 ラッパークラス 第7章 60 クラスの作成 7.1 メソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 7.1.2 メソッドと段階的なプログラムの開発 . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.1.1 メソッドの追加 7.1.3 メソッドの多重定義(オーバーロード) . . . . . . . . . . . . . . . . . . . . . . . 65 7.1.4 値を返すメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7.2 インスタンス変数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7.3 アクセス修飾子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.4 コンストラクタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.5 クラス変数,クラスメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.6 main メソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.7 内部クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.8 まとめの例題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 vii 第8章 メソッドの再定義と動的結合 77 8.1 メソッド呼出しと型検査 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.1.1 型検査 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.1.2 メソッドのシグネチャと多重定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 8.1.3 クラスと型の関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 8.1.4 クラス型のキャスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 8.2 メソッドの再定義(オーバーライド) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.2.1 メソッドの再定義とメソッド探索 . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.2.2 具体例:Tensen クラスでの fd の再定義 . . . . . . . . . . . . . . . . . . . . . . . 82 8.2.3 super メソッド呼出し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 8.2.4 再定義されたメソッドの呼出し . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 8.2.5 動的結合,ポリモルフィズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.3 final,abstract などの修飾子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 8.4 インターフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 8.4.1 インターフェース型の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 8.4.2 インターフェースを実装したクラス . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.4.3 インターフェース型の変数を用いたプログラム . . . . . . . . . . . . . . . . . . . . 91 8.4.4 インターフェースとポリモルフィズム . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.5 フィールドの隠蔽 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.2.6 再定義の一様性 第9章 例外処理,パッケージ 94 9.1 例外処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.2 ガーベッジコレクション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.3 パッケージに属するクラスの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.3.1 パッケージとクラスファイルの管理 . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.3.2 パッケージ操作の練習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 第 10 章 マルチスレッドと並列処理 101 10.1 スレッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 10.2 sleep などのクラスメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 10.3 join による同期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 10.4 synchronized による排他的実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 10.5 wait と notify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 第 11 章 GUI クラス 111 11.1 GUI クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 11.1.1 GUI クラスの役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 viii 11.1.2 GUI クラスの種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 11.1.3 コンポーネントの種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 11.2 Swing 入門 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 11.2.1 Swing コンポーネントを使う基本手順 . . . . . . . . . . . . . . . . . . . . . . . . 115 11.2.2 アイコン画像の表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 11.3 レイアウト方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 11.3.1 概 要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 11.3.2 レイアウトマネージャの設定と配置 . . . . . . . . . . . . . . . . . . . . . . . . . 119 11.3.3 FlowLayout クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 11.3.4 BorderLayout クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 11.3.5 GridLayout クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 11.3.6 BoxLayout クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 11.4 Swing コンポーネント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 11.4.1 ラベル:JLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 11.4.2 ボタン抽象クラス:AbstractButton . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.4.3 JButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.4.4 JCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.4.5 JComoboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.4.6 JPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 11.4.7 JFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.5 コンポーネントの色とフォントの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 11.5.1 色の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 11.5.2 フォントの指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.6 境界線 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 第 12 章 グラフィックス 135 12.1 描画の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 12.2 カスタムグラフィックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 12.2.1 paintComponent メソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 12.2.2 座 標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 12.2.3 描画のタイミングと repaint メソッド . . . . . . . . . . . . . . . . . . . . . . . . 138 12.3 基本図形の描画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 12.3.1 Graphics クラスの図形描画メソッド . . . . . . . . . . . . . . . . . . . . . . . . . 139 12.4 画像の描画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.4.1 画像描画の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.4.2 画像ファイルの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12.4.3 Graphics クラスの画像描画メソッド . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.5 オフスクリーンイメージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 ix 12.5.1 オフスクリーンイメージの役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.5.2 BufferedImage クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 12.5.3 画像ファイルへの出力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 12.6 2Dグラフィックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 12.6.1 Graphics2D クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 12.6.2 図形の変形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 12.6.3 クリッピングパス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 12.7 再帰呼出しとフラクタル図形の描画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 12.7.1 メソッドの再帰呼出し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 12.7.2 フラクタル図形の描画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 第 13 章 イベント処理 161 13.1 イベント処理の仕組み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 13.1.1 概 要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 13.1.2 イベントリスナークラスの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 13.1.3 イベントソースでのリスナーの登録 . . . . . . . . . . . . . . . . . . . . . . . . . 163 13.1.4 イベントの情報を知るメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 13.2 イベント処理の具体例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 13.2.1 ボタン上でのアクションイベント . . . . . . . . . . . . . . . . . . . . . . . . . . 165 13.2.2 チェックボックス上でのアイテムイベント . . . . . . . . . . . . . . . . . . . . . . 167 13.2.3 テキストフィールドでのアクションイベント . . . . . . . . . . . . . . . . . . . . 169 13.3 マウスイベント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 13.4 リスナークラスの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 13.4.1 リスナーインターフェースを使う . . . . . . . . . . . . . . . . . . . . . . . . . . 175 13.4.2 アダプターを使う . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 13.5 キーボード入力の処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 13.5.1 キーイベントとキーリスナー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 13.5.2 キー入力によるアクションイベント . . . . . . . . . . . . . . . . . . . . . . . . . 179 13.6 Timer によるアニメーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 13.6.1 Timer クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 13.6.2 Timer クラスを使ったアニメーション . . . . . . . . . . . . . . . . . . . . . . . . 181 13.6.3 アイコン化時のアニメーションの停止と再開 . . . . . . . . . . . . . . . . . . . . 183 13.7 練習問題 — GUI を用いてフラクタル図形を動かす — . . . . . . . . . . . . . . . . . . . 184 第 14 章 アプレット 188 14.1 アプレットの作成と実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 14.1.1 アプレットの作成のためのコンポーネント . . . . . . . . . . . . . . . . . . . . . . 188 14.1.2 アプレット実行の仕組みとメソッド . . . . . . . . . . . . . . . . . . . . . . . . . 188 x 14.1.3 アプレットの具体例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 14.1.4 アプレットの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 14.1.5 アプレットの制限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 14.2 アプレット上での画像表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 14.3 音声の再生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 14.3.1 AudioClip インターフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 14.3.2 アプレットでの音声の再生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 14.3.3 アプリケーションでの音声の再生 . . . . . . . . . . . . . . . . . . . . . . . . . . 195 14.4 html タグとプラグイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 14.4.1 applet タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 14.4.2 param タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 14.4.3 プラグイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 第 15 章 データ入出力 15.1 データ入出力の概要 200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 15.1.1 io パッケージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 15.1.2 ストリームクラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 15.1.3 データ入出力の基本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 15.2 文字ストリームの使用例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 15.2.1 ファイルを 1 文字ずつ読む . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 15.2.2 ファイルを 1 行ずつ読む . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 15.2.3 キーボードから文字データを読む . . . . . . . . . . . . . . . . . . . . . . . . . . 206 15.3 書式付き入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 15.3.1 Scanner クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 15.3.2 区切り文字による入力の解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 15.3.3 パターンを使った入力の解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 15.4 書式付き出力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 15.4.1 書式付き出力メソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 15.4.2 書式指示子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 15.4.3 標準出力への書式付き出力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 第 16 章 ネットワークインターフェース 215 16.1 ネットワークプログラミングの基本知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 16.1.1 サーバとクライアント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 16.1.2 IP アドレスとホスト名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 16.1.3 ポート番号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 16.1.4 ソケット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 16.2 クライアントプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 xi 16.3 サーバプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 16.3.1 サーバ側のソケット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 16.3.2 カウンセラーサーバ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 16.3.3 カウンセラークライアント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 16.4 マルチクライアント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 16.5 URL を使ったデータのやりとり . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 16.5.1 URL クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 16.5.2 URL からのデータ読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 16.5.3 URLConnection と CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 第 17 章 コレクションとジェネリックス 232 17.1 コレクションフレームワーク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 17.2 ジェネリックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 17.3 リスト…ArrayList クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 17.4 Iterator インターフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 17.5 マップ…HashMap クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 17.6 Arrays クラスと Collections クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 索 引 245
© Copyright 2024 Paperzz