pi-4. コレクション,リスト,マップ,拡張 for 文

>100 Views

January 26, 22

スライド概要

Java の基本
URL: https://www.kkaneko.jp/cc/pi/index.html

profile-image

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

pi-4. コレクション,リスト,マップ, 拡張 for 文 (Java の基本) URL: https://www.kkaneko.jp/cc/pi/index.html 金子邦彦 1

2.

複数データを一括で扱う 私の見解 • 複数データを扱うとき, 2つの方法 1. 複数の変数、オブジェクトで扱う場合 2. 単一のコレクション(リストやマップなど)で扱う 場合 • 検索、挿入、削除などを行いたい場合、単一のコレク ション(オブジェクト)で扱う方が楽である。 • Java の標準機能に、コレクション(オブジェクト)が ある。その利用は、簡単で、間違いがない 2

3.

アウトライン 番号 項目 説明時間の 目安 4-1 14 分 4-2 リスト リストを実習できるオンラインサイト の紹介 4-3 リストと拡張 for 文 10 分 4-4 マップ 12 分 4-5 マップの応用 9分 6分 各自、資料を読み返したり、課題に取り組んだりも行う この授業では、Java を用いて基礎を学び、マスターする 3

4.

全体まとめ • Java のコレクションには、種類がさまざまある. • リストは,順序のあるデータである.要素の削除, 挿入によりサイズが増減する • マップは,キーと値(バリュー)のペアの集まり である.同じ値のキーは2回以上登場しない • リストやマップで処理の繰り返しを行うときは, 拡張 For 文が便利である 4

5.

4-1.リスト URL: https://www.kkaneko.jp/pro/pi/index.html 金子邦彦 5

6.

リスト (List) とは 15 • • 8 6 32 23 順序のあるデータ 要素の削除,挿入によりサイズが増減する 6

7.

リスト (List) を生成するプログラム 15 8 6 32 23 空のリストの 組み立て add メソッドは 要素の挿入 7

8.

add メソッドは、要素の挿入 8

9.

Java Tutor Java などのプログラミング言語の体験, 演習ができるオンラインサービス ① ウェブブラウザで次の URL を開く http://www.pythontutor.com/ 9

10.

使用上の注意点1 • 次のような表示が出ることがある → 無視してよい 過去の文法ミスに関する確認表示 邪魔なときは「Close」 10

11.

使用上の注意点2 「please wait ... executing」のとき、10秒ほど待つ. → 混雑しているときは、 「Server Busy・・・」 というメッセージが出ることがある. 混雑している.少し(数秒から数十秒)待つと自 動で表示が変わる(変わらない場合には,操作を もう一度行ってみる) 11

12.

② 「Java Tutor」をクリック 12

13.

③ Java Tutor で,次のソースコードを入れる 空のリストの 組み立て add メソッドは 要素の挿入 13

14.

④ 実行。実行結果を確認。(プログラムはあとで使 うので消さないこと) オブジェクト m が生成される。 (JavaTutor には、コレクションの 要素を表示する機能はない) 実行結果を確認 Visualize Execution をクリック, Last をクリック ※ 編集画面に戻るには Edit this code をクリック 14

15.

Java の ArrayList クラス • 標準機能として、次のメソッドがある。便利。 コンストラクタ 要素の挿入 要素の削除 要素の取得 検索 要素値の更新 要素数 など リストの機能 ArrayList add clear, remove get indexOf set size 15

16.

⑤ size で要素数を数える。 Java Tutor で,次のソースコードを入れる メソッド size の呼び出し 16

17.

⑥ 実行。実行結果を確認。(プログラムはあとで使 うので消さないこと) サイズ 5 実行結果を確認 Visualize Execution をクリック, Last をクリック ※ 編集画面に戻るには Edit this code をクリック 17

18.

⑦ indexOf で、リストの中から「”6”」を探す。 Java Tutor で,次のソースコードを入れる メソッド indexOf の呼び出し 18

19.

⑧ 実行。実行結果を確認。(プログラムはあとで使 うので消さないこと) 2 実行結果を確認 Visualize Execution をクリック, Last をクリック ※ 編集画面に戻るには Edit this code をクリック 19

20.

4-2. リストを実習できる オンラインサイトの紹介 URL: https://www.kkaneko.jp/pro/pi/index.html 金子邦彦 20

21.

① ウェブブラウザを起動する ② 次の URL を開く https://visualgo.net/ja ③ 「連結リスト」をクリック 21

22.

④ 説明が出る.ESC キーを押して,説明を消す ⑤ 左下のメニューで「入れる」をクリックし, 「i = N (After tail), specify v =」を選ぶ 22

23.

⑥ 値が「80」のように表示されるので,確認した ら「行く」をクリック ⑦ 末尾にデータが増えるので,確認する 23

24.

4-3.リストと拡張 for 文 URL: https://www.kkaneko.jp/pro/pi/index.html 金子邦彦 24

25.

Java の for の種類 • 変数の値を変化させるもの i の値: 0 → 1 → 2 → 3 → 4 • コレクション(リストやマップなど)の要素をた どるためのもの. 上の for 文と書き方が違う(拡張 for 文という) m は、文字列を要素とする コレクションオブジェクト s の値: “15” → “8” → “6” → “32” → “23” 25

26.

① 拡張 for 文を使ってみる Java Tutor で,次のソースコードを入れる 26

27.

② 実行。実行結果を確認。 サイズ 5 実行結果を確認 Visualize Execution をクリック, Last をクリック ※ 編集画面に戻るには Edit this code をクリック 27

28.

リストの生成,要素の挿入,拡張 for文 まとめ • リストの生成 m: オブジェクト名 String: 要素のクラス名 ※ Java では,リスト(List) に種類がある.ArrayList, LinkedList など • 要素の挿入 m: オブジェクト名 “15”: 挿入したい要素 • 拡張 for 文 28

29.

4-4.マップ URL: https://www.kkaneko.jp/pro/pi/index.html 金子邦彦 29

30.

マップ (map) とは キー 1 2 3 値(バリュー) Red Yellow Blue マップは,キーと値(バリュー)のペア の集まり • 同じ値のキーは2回以上登場しない • 30

31.

マップ (Map) を生成するプログラム 空のマップの 組み立て 「put」は 要素の挿入 拡張 for 文で表示 ※ entrySet は,マップから,ペ アの集まりを丸ごと取得するため のもの 31

32.

① Java Tutor で,次のソースコードを入れる。 32

33.

② 実行。実行結果を確認。 (プログラムはあとで使 うので消さないこと) 実行結果を確認 Visualize Execution をクリック, Last をクリック ※ 編集画面に戻るには Edit this code をクリック 33

34.

Java の HashMap クラス • 標準機能として,次のメソッドがある.便利. コンストラクタ HashMap 要素の挿入 put 要素の削除 clear, remove 検索 get 要素数 size など マップの機能.ペアを扱うときに便利. 34

35.

Java の HashMap クラスの get メソッド キー 値(バリュー) 1 Red 2 Yellow 3 Blue • get メソッド キーから値(バリュー)を得る x.get(1) → 結果は「Red」 35

36.

③ Java Tutor で,次のソースコードを入れる。 36

37.

④ 実行。実行結果を確認。 実行結果を確認 Visualize Execution をクリック, Last をクリック ※ 編集画面に戻るには Edit this code をクリック 37

38.

マップの生成,要素の挿入,拡張 For文 まとめページ • マップの生成 x: オブジェクト名 • 要素の挿入 x : オブジェクト名 Integer: キーのクラス名 String: 値(バリュー)の クラス名 1, “Red”: 挿入したい要素 • 拡張 For 文 38

39.

4-5.マップの応用例 URL: https://www.kkaneko.jp/pro/pi/index.html 金子邦彦 39

40.

マップを用いたデータ管理 id 1 2 3 4 キー name price orange 50 apple 100 apple 150 banana 500 値(バリュー) 40

41.

マップを用いたデータ管理 id 1 2 3 4 キー name price orange 50 apple 100 apple 150 banana 500 次の 4 つのオブジェク トを Java の HashMap で管理する、と考える 値(バリュー) 41

42.

① Java Tutor で,次のソースコードを入れる。 クラス定義 42

43.

② 引き続き,次のソースコードを入れる HashMap の利用 43

44.

③ 実行。実行結果を確認。 (プログラムはあとで使 うので消さないこと) 実行結果を確認 Visualize Execution をクリック, Last をクリック ※ 編集画面に戻るには Edit this code をクリック 44