目 次

目 次
第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