Microsoft Word - 投影片ch16



Similar documents
6-1-1極限的概念

證 券 簡 易 下 單 :2121 證 券 簡 易 下 單 1. 主 工 具 列 的 視 窗 搜 尋 器 直 接 輸 入 點 擊 主 選 單 證 券 專 區 下 單 特 殊 下 單 2121 證 券 簡 易 下 單 畫 面 說 明 1. 下 單 區 2. 個 股 行 情 資 訊 與

所 3 學 分 課 程, 及 兩 門 跨 領 域 課 程 共 6 學 分 以 上 課 程 學 生 在 修 課 前, 必 須 填 寫 課 程 修 課 認 定 表, 經 班 主 任 或 指 導 教 授 簽 名 後 始 認 定 此 課 程 學 分 ) 10. 本 規 章 未 盡 事 宜, 悉 依 學 位

Microsoft PowerPoint - 資料庫正規化(ccchen).ppt

實德證券網上交易系統示範

Microsoft Word doc

Microsoft Word - 第四章.doc

e-Submission System Quick Reference Guide for Publication Related Matters (Chinese version)

NCKU elearning Manual

<4D F736F F D20B3E6A4B830312D2D2DBCC6BD75BB50BEE3BCC6AABAA55BB4EEB942BAE22E646F6378>

PowerPoint 簡報

CONTENTS 訓 練 內 容 設 計 法 056 淡 季 期 的 訓 練 058 旺 季 期 的 訓 練 060 針 對 爬 坡 賽 的 訓 練 內 容 062 賽 後 的 資 料 分 析 PART4/ 鏑 木 毅 先 生 的 建 言 活 用 於 越 野 路 跑 的 心 跳 訓

目 錄 項 目 內 容 頁 數 1 手 機 要 求 3 2 登 記 程 序 3 3 登 入 程 序 4 4 輸 入 買 賣 指 示 6 5 更 改 指 示 14 6 取 消 指 示 18 7 查 詢 股 票 結 存 21 8 查 詢 買 賣 指 示 23 9 更 改 密 碼 查 詢 股

BSP 烤箱 - 封面-2

章節

101年度社會福利方案 網路線上操作手冊

3. 給 定 一 整 數 陣 列 a[0] a[1] a[99] 且 a[k]=3k+1, 以 value=100 呼 叫 以 下 兩 函 式, 假 設 函 式 f1 及 f2 之 while 迴 圈 主 體 分 別 執 行 n1 與 n2 次 (i.e, 計 算 if 敘 述 執 行 次 數, 不

Microsoft Word - ch07

(Microsoft Word - MOODLE990201\266i\266\245\244\342\245U )

二 兒 歌 選 用 情 形 ( ) 2 ( ) ( )

四 修 正 幼 兒 園 師 資 類 科 應 修 學 分 數 為 四 十 八 學 分, 並 明 定 學 分 數 抵 免 之 相 關 規 定 及 規 範 修 習 幼 兒 園 教 育 專 業 課 程 之 最 低 年 限 ( 修 正 條 文 第 五 條 ) 五 發 給 修 畢 師 資 職 前 教 育 證 明

目 錄 頁 1. 歡 迎 使 用 網 上 預 約 面 談 訪 問 系 統 新 用 戶 新 用 戶 登 入 帳 戶 程 序 啟 動 網 上 預 約 面 談 訪 問 帳 戶 核 對 帳 戶 的 地 址 資 料


目 錄 一 系 統 登 入... 2 ( 一 ) 系 統 登 入 畫 面... 2 ( 二 ) 首 次 登 入 請 先 註 冊... 3 ( 三 ) 忘 記 單 位 帳 號... 8 ( 四 ) 忘 記 密 碼 ( 五 ) 健 保 卡 更 換 ( 六 ) 重 寄 確 認 信.


128 提 示 樞 紐 分 析 表 的 用 途 樞 紐 分 析 表 是 指 可 以 用 來 快 速 合 併 和 比 較 大 量 資 料 的 互 動 式 表 格, 透 過 它 可 以 詳 細 分 析 數 值 資 料, 特 別 適 用 於 下 列 情 況 : 需 要 從 含 有 大 量 資 料 的 清

授 課 老 師 章 節 第 一 章 教 學 教 具 間 3 分 鐘 粉 筆 CNC 銑 床 教 學 內 容 CNC 銑 床 之 基 本 操 作 教 材 來 源 數 值 控 制 機 械 實 習 Ⅰ 1. 了 解 CNC 銑 床 的 發 展 2. 了 解 CNC 銑 床 刀 具 的 選 用 3. 了 解

第 6. 節 不 定 積 分 的 基 本 公 式 我 們 可 以 把 已 經 知 道 反 導 函 數 之 所 有 函 數 都 視 為 不 定 積 分 的 基 本 公 式 基 本 公 式 涵 蓋 的 範 圍 愈 大, 我 們 求 解 積 分 就 愈 容 易, 但 有 記 憶 不 易 的 情 事 研 讀

研究一:n人以『剪刀、石頭、布』猜拳法猜拳一次,決定一人勝

???T????????

簽 呈

<4D F736F F D20B2C433B3B92020B971B8F4A4C0AA52A7DEA5A9>

寫 作 背 景 導 讀 [98] L Lyman Frank Baum

五 四 五 說 ( 代 序 ) 李 澤 厚 劉 再 復 I I II IV V VII 第 一 篇 五 四 新 文 化 運 動 批 評 提 綱 附 論 一 中 國 貴 族 精 神 的 命 運 ( 提 綱 )

投影片 1

前 項 第 三 款 所 定 有 機 農 產 品 及 有 機 農 產 加 工 品 驗 證 基 準, 如 附 件 一 第 七 條 驗 證 機 構 受 理 有 機 農 產 品 及 有 機 農 產 加 工 品 之 驗 證, 應 辦 理 書 面 審 查 實 地 查 驗 產 品 檢 驗 及 驗 證 決 定 之

目 錄 壹 題 目 1: 新 增 商 品 ( 商 品 名 稱 為 玉 井 芒 果 乾 禮 盒 )... 3 貳 題 目 2: 新 增 商 品 ( 商 品 名 稱 為 紅 磚 布 丁 精 選 禮 盒 )... 5 參 題 目 3: 新 增 商 品 ( 商 品 名 稱 為 晶 鑽 XO 醬 禮 盒 ).

目 錄


包 裝 維 生 素 礦 物 質 類 之 錠 狀 膠 囊 狀 食 品 營 養 標 示 應 遵 行 事 項 一 本 規 定 依 食 品 安 全 衛 生 管 理 法 第 二 十 二 條 第 三 項 規 定 訂 定 之 二 本 規 定 所 稱 維 生 素 礦 物 質 類 之 錠 狀 膠 囊 狀 食 品, 指

題組一 文書排版

內 政 統 計 通 報

Microsoft Word - Draft circular on Sub Leg Apr (chi)_Traditional

肆 研 究 方 法 進 行 本 研 究 前, 我 們 首 先 對 研 究 中 所 用 到 名 詞 作 定 義 定 義 : 牌 數 : 玩 牌 時 所 使 用 到 撲 克 牌 數 次 數 : 進 行 猜 心 術 遊 戲 時, 重 複 分 牌 次 數 數 : 進 行 猜 心 術 遊 戲 時, 每 次 分

國中數學基本學習內容補救教材 第二冊

壹、組織編制 代碼:C0101意見反映

第一章 緒論

教育實習問與答:

瑞興銀行

(Microsoft Word -

奇 妙 的 24 摘 要 從 撲 克 牌 中 隨 機 抽 取 4 張 牌 可 以 有 1820 種 牌 組, 在 這 1820 種 牌 組 中, 有 1362 組 可 經 由 四 則 運 算 的 方 式, 算 出 24 點, 有 458 組 無 解 快 速 求 解 的 方 法 有 相 加 法 因 數

關 於 教 育 部 學 習 拍 立 得 教 育 部 於 (103) 年 度 整 合 各 縣 市 政 府 部 屬 機 構 大 學 及 民 間 的 數 位 資 源 與 服 務, 依 不 同 類 型, 分 別 匯 集 於 教 育 大 市 集 教 育 百 科 教 育 媒 體 影 音 教 育 部 學 習 拍

Microsoft Word - 全華Ch2-05.doc


校 長 遴 選 者 就 相 關 遴 選 事 項, 有 程 序 外 之 接 觸 遴 選 會 委 員 在 任 期 間 因 故 無 法 執 行 任 務 或 有 不 適 當 之 行 為 者, 由 各 該 主 管 機 關 解 聘 之 ; 其 缺 額, 依 第 一 項 至 第 五 項 規 定 聘 ( 派 ) 委

C CH4.tpf

(Microsoft Word - \246\250\301Z\272\336\262z.doc)

Chapter 6 step 01 \ \06\ \.docx step 02 step \ \06\ \.docx \ \06\ \.docx 達 人 XXXTabN XXX Tab TabN

課 程 簡 介 第 一 章 基 本 電 路 理 論 第 二 章 半 導 體 物 理 與 pn 接 面 二 極 體 元 件 分 析 第 三 章 二 極 體 電 路 分 析

1. 安 裝 1.1 手 機 端 安 裝 檔 (cab 檔 ) 請 您 將 下 載 的 cab 檔 案 複 製 到 手 機 內 任 一 資 料 夾, 在 手 機 上 點 擊 cab 檔 案 後 即 可 開 始 安 裝 點 擊 本 檔 案 即 可 開 始 安 裝 請 於 您 的 手 機 上 繼 續 安

16

大學甄選入學委員會

標 準 作 業 程 序 的 版 本 說 明 : 制 定 者 版 本 編 碼 日 期 日 期 主 要 秘 書 處 Version /12/ /12/03 第 一 版 秘 書 處 Version /12/ /12/31 第 一 版 第 一 次 秘

進 入 系 統 1. 請 於 首 頁 右 側 使 用 者 登 入 輸 入 帳 號 密 碼 驗 證 碼 後, 點 選 登 入 進 入 系 統 2. 直 接 點 選 右 側 的 進 入 系 統, 直 接 進 入 題 目 檢 索 頁 面 直 接 進 入 系 統 後, 您 仍 可 瀏 覽 選 擇 您 所 需

sle cover 1

1

計 算 機 概 論 Computer Siene ))) 8- 啟 動 與 認 識 PowerPoint [ 開 始 ] \ [ 所 有 程 式 ] \ [Mirosoft Offie] \ [Mirosoft Offie PowerPoint 200] PowerPoint [ 新 增 ] \ [

如何正確使用自己所擁有的正版音樂光碟?

本 題 各 點 彼 此 均 有 相 互 關 聯, 作 答 不 完 整, 將 影 響 各 評 分 點 之 得 分, 請 注 意 檔 名 儲 存 錯 誤, 該 題 一 律 0 分 計 算 深 淺 圖 表.xlsx 請 依 下 方 題 目 敘 述 操 作 ( 佔 總 分 :) 儲 存 格 範

骨 折 別 日 數 表 1. 鼻 骨 眶 骨 ( 含 顴 骨 ) 14 天 11. 骨 盤 ( 包 括 腸 骨 恥 骨 坐 骨 薦 骨 ) 40 天 2. 掌 骨 指 骨 14 天 12. 臂 骨 40 天 3. 蹠 骨 趾 骨 14 天 13. 橈 骨 與 尺 骨 40 天 4. 下 顎 ( 齒

格 成 績 證 明 第 六 條 第 七 條 本 系 大 四 課 程 中 規 劃 日 本 韓 國 越 南 專 題 研 究, 學 生 需 於 大 四 時 修 習 該 課 程, 並 於 規 定 期 間 內 提 出 專 題 報 告, 取 得 合 格 成 績 證 明 本 系 規 定 學 生 畢 業 時 需 取

iPhone版操作手冊990421

( 三 ) 走 道 與 建 築 物 結 構 空 間 不 符 規 定 者, 得 降 低 走 道 設 置 位 置 或 空 間 不 足 處 之 部 分 走 道 高 度, 並 視 需 要 採 階 梯 式 設 計, 使 建 築 物 與 其 走 道 間 保 持 1.8 公 尺 以 上, 確 保 人 員 走 行

第二組掃描器規範書

虛擬交易所97年GVE3簡易版.doc

調 查 背 景 去 年 年 尾 奶 粉 供 應 緊 張 有 零 售 商 大 幅 抬 價 的 報 導 和 投 訴 在 每 兩 個 月 進 行 的 定 期 嬰 幼 兒 奶 粉 價 格 調 查 以 外, 在 農 曆 新 年 前 後, 特 別 加 強 奶 粉 供 應 和 價 格 的 調 查 工 作 2

(DP_MFP_Training

Microsoft Word - 雲林區_免試平台_國中模擬選填_操作手冊.doc

長跨距暨挑高建築特殊結構系統之調查分析

行政院金融監督管理委員會全球資訊網-行政院金融監督管理委員會

(Microsoft Word \245\277\244\361\273P\244\317\244\361.doc)

連江縣政府所屬學校兼任代課及代理教師聘任實施要點(草案)

駛 學 校 順 成 駕 駛 學 校 新 中 華 駕 駛 學 校 新 社 亮 汽 車 電 單 車 教 授 駕 駛 學 校 有 限 公 司 新 順 成 汽 車 駕 駛 學 校 及 新 福 利 駕 駛 學 校 有 限 公 司 其 中 除 新 福 利 只 提 供 輕 型 汽 車 ( 自 動 ) 教 學 課

Microsoft PowerPoint - 使用 Word 編輯與排版文件 (II).ppt

一 業 務 內 容 本 公 司 依 郵 政 法 第 5 條 得 經 營 下 列 業 務 : 單 位 : 新 臺 幣 千 元,% ,486,746, ,318,734, ,039,301,167

55202-er-ch03.doc

Microsoft PowerPoint - 104年說明會簡報-final-0923.ppt [相容模式]

二 具 有 博 士 學 位 或 其 同 等 學 歷 證 書, 成 績 優 良 並 有 專 門 著 作 者, 得 聘 為 助 理 教 授 三 具 有 博 士 學 位 或 其 同 等 學 歷 證 書, 曾 從 事 與 所 習 學 科 有 關 之 研 究 工 作 專 門 職 業 或 職 務 四 年 以 上

教 師 相 關 ( 升 等, 依 業 務 需 002 交 通 管 科 評 鑑, 評 量, 徵,C031, 聘, 各 項 考 試 委 C051,C054, 員, 通 訊 錄 等 ),C057, C058,C063 各 項 會 議 紀 錄 依 業 務 需 C001,, 002,130 交 通 管 科 (

1 CH1 環 境 介 面 及 面 板 設 定 1-1 Word 2010 環 境 介 面 與 功 能 區 1-2 環 境 介 面 色 調 處 理 1-3 自 訂 快 速 存 取 工 具 列 1-4 Word 選 項 控 制 CH2 文 字 資 料 2-1 建 立 文 字 2-2 貼 入 網 頁 文

( 第 4 項 ) 第 1 項 及 第 2 項 投 資 抵 減 之 適 用 範 圍 核 定 機 關 申 請 期 限 申 請 程 序 施 行 期 限 抵 減 率 及 其 他 相 關 事 項, 由 行 政 院 定 之 行 為 時 促 進 產 業 升 級 條 例 第 6 條 第 2 項 及 第 4 項 分

二零零六至零七年施政報告

節 數 內 容 網 頁 設 計 (1): 利 用 Google Sites 制 作 簡 單 文 字 網 頁, 連 結 不 同 版 面 網 頁 設 計 (2): 在 文 字 網 頁 上 加 插 圖, 上 載 網 頁 影 片 設 計 (1): 利 用 Windows Movie

Microsoft PowerPoint - 102教師升等說明會

(3) 澳 門 特 別 行 政 區 之 稅 務 知 識 及 (4) 商 法 典 ( 二 ) 重 新 批 准 註 冊 為 註 冊 會 計 師 / 專 業 會 計 員 之 筆 試 科 目 如 下 : (1) 澳 門 特 別 行 政 區 之 稅 務 知 識 及 (2) 商 法 典 ( 三 ) 考 試 範

及 國 民 中 小 學 組 織 規 程 之 規 定 辦 理, 其 班 級 數 之 計 算 依 實 際 班 級 數 ( 幼 教 班 除 外 ) 四 捨 五 入 計 算 : 1. 十 二 班 以 下 者 : 得 置 教 師 兼 教 導 總 務 主 任, 教 師 兼 教 務 訓 育 組 長 各 一 人 2

2016年中國語文科試卷三聆聽及綜合能力考核樣本試卷示例及說明

九 -2 國 中 數 學 基 本 學 習 內 容 補 救 教 材 第 六 冊 主 題 二 機 率 的 計 算 二 機 率 怎 麼 算? 想 一 想 : (1) 投 擲 一 枚 公 正 硬 幣 一 次, 會 出 現 哪 幾 種 情 形? 這 些 情 形 各 自 發 生 的 機 率 是 多 少? 會 不

Transcription:

Java2 JDK5.0 教 學 手 冊 第 三 版 洪 維 恩 編 著 博 碩 文 化 出 版 書 號 pg20210 本 章 學 習 目 標 第 十 六 章 Java collection 集 合 物 件 認 識 collection 架 構 認 識 並 學 習 如 何 建 立 各 種 集 合 物 件 學 習 利 用 Iterator 介 面 的 method 走 訪 元 素 學 習 利 用 ListIterator 介 面 的 method 走 訪 元 素

Java collection 集 合 物 件 16-2 16.1 認 識 集 合 物 件 集 合 物 件 是 指 一 群 相 關 聯 的 資 料, 集 合 在 一 起 組 成 一 個 物 件 集 合 物 件 裡 的 資 料, 稱 為 元 素 16.1.1 認 識 collection 架 構 Java Collections Framework, 包 括 了 三 個 部 分 : (a) 介 面 (Interface) (b) 演 算 法 (Algorithms) (c) 實 作 (Implementations)

Java collection 集 合 物 件 16-3 下 圖 是 各 種 collection 介 面 的 繼 承 關 係 圖 Collection Set SortedSet TreeSet HashSet List LinkedList ArrayList Map SortedMap TreeMap 繼 承 的 介 面 實 作 的 類 別 HashMap

Java collection 集 合 物 件 16-4 16.1.2 泛 型 與 collection 泛 型 (generic) 在 編 譯 時 期 即 會 檢 查 集 合 物 件 的 型 態 想 要 在 TreeSet 類 別 的 集 合 物 件 裡 儲 存 整 數 int 型 態 的 資 料, 可 以 做 出 如 下 的 宣 告 : TreeSet<Integer> tset=new TreeSet<Integer>(); 小 於 及 大 於 符 號 (< >) 所 含 括 起 來 的 型 態, 就 是 泛 型 型 態

Java collection 集 合 物 件 16-5 16.2 實 作 Set 介 面 集 合 中 的 元 素 並 沒 有 特 定 的 順 序, 但 是 元 素 不 能 重 覆 出 現 下 表 列 出 了 Set 介 面 較 常 用 的 method: 表 16.2.1 Set 介 面 常 用 的 method method boolean add(e o) 主 要 功 能 將 物 件 o 新 增 為 元 素, 成 功 時 傳 回 true boolean addall(collection<? extends E> c) 將 Collection 的 元 素 新 增 為 此 集 合 的 元 素, 成 功 時 傳 回 true void clear() boolean contains(object o) 從 集 合 中 移 除 所 有 的 元 素 當 集 合 物 件 裡 包 含 元 素 o 時, 傳 回 true boolean containsall(collection<?> c) 當 集 合 物 件 裡 包 含 Collection 的 元 素 c 時, 傳 回 true boolean isempty() boolean remove(object o) boolean removeall(collection<?> c) 集 合 物 件 若 沒 有 任 何 元 素, 傳 回 true 從 集 合 物 件 中 刪 除 物 件 o, 成 功 時 傳 回 true 從 集 合 物 件 中 刪 除 Collection 的 元 素 c, 成

Java collection 集 合 物 件 16-6 method boolean retainall(collection<?> c) int size() Iterator<E> iterator() 主 要 功 能 功 時 傳 回 true 從 集 合 物 件 中 保 留 Collection 的 元 素 c, 其 餘 刪 除, 成 功 時 傳 回 true 傳 回 集 合 物 件 的 元 素 個 數 取 得 集 合 物 件

Java collection 集 合 物 件 16-7 16.2.1 實 作 Set 介 面 HashSet 類 別 HashSet 類 別 是 實 作 Set 介 面 的 類 別, 利 用 雜 湊 表 (hash table) 演 算 法 來 改 進 執 行 的 效 率 下 表 列 出 常 用 的 HashSet 建 構 元 : 表 16.2.2 建 構 元 java.util.hashset<e> 類 別 的 建 構 元 主 要 功 能 HashSet() HashSet(Collection<? extends E> c) 建 立 一 個 全 新 空 的 HashSet 物 件, 預 設 的 元 素 個 數 為 16 個 建 立 一 個 新 的 且 包 含 特 定 的 Collection 物 件 c 之 HashSet 物 件

Java collection 集 合 物 件 16-8 下 面 是 一 個 簡 單 的 範 例, 說 明 如 何 利 用 HashSet 類 別 01 // app16_1, 簡 單 的 HashSet 範 例 02 import java.util.*; 03 public class app16_1 04 { 05 public static void main(string args[]) 06 { 07 HashSet<String> hset=new HashSet<String>(); 08 09 String str1="puppy"; 10 String str2="kitten"; 11 System.out.println("Hash empty: "+hset.isempty()); 12 hset.add("moneky"); // 增 加 元 素 13 hset.add("bunny"); // 增 加 元 素 14 hset.add(str1); // 增 加 元 素 15 hset.add(str2); // 增 加 元 素 16 17 System.out.println("Hash size="+hset.size());// 顯 示 元 素 個 數 18 System.out.println("Hash empty: "+hset.isempty()); 19 System.out.println("HashSet 內 容 :"+hset);// 顯 示 集 合 物 件 的 內 容 20 21 hset.remove(str2); 22 System.out.println(" 清 除 Kitten..., Hash size="+hset.size()); 23 24 System.out.println("Hash 中 是 否 有 "+str2+"? "+hset.contains(str2)); 25 System.out.println("Hash 中 是 否 有 fish? "+hset.contains("fish"));

Java collection 集 合 物 件 16-9 26 System.out.println("Hash 中 是 否 有 Puppy? "+hset.contains("puppy")); 27 hset.remove("bunny"); 28 System.out.println(" 清 除 Bunny..., Hash size="+hset.size()); 29 30 System.out.println("HashSet 內 容 :"+hset); 31 hset.clear(); 32 System.out.println(" 清 除 Hash 中 所 有 的 物 件..."); 33 System.out.println("Hash empty: "+hset.isempty()); 34 } 35 } /* app16_1 OUTPUT------------------------- Hash empty: true Hash size=4 Hash empty: false HashSet 內 容 :[Moneky, Kitten, Bunny, Puppy] 清 除 Kitten..., Hash size=3 Hash 中 是 否 有 Kitten? false Hash 中 是 否 有 fish? false Hash 中 是 否 有 Puppy? true 清 除 Bunny..., Hash size=2 HashSet 內 容 :[Moneky, Puppy] 清 除 Hash 中 所 有 的 物 件... Hash empty: true -------------------------------------------*/

Java collection 集 合 物 件 16-10 16.2.2 實 作 SortedSet 介 面 TreeSet 類 別 SortedSet 中 的 資 料 會 由 小 而 大 排 列, 為 一 種 排 序 集 合 物 件 (sorted collection) 實 作 SortedSet 介 面 的 是 TreeSet 類 別, 其 常 用 的 建 構 元 如 下 表 所 示 : 表 16.2.3 建 構 元 java.util.treeset<e> 類 別 的 建 構 元 主 要 功 能 TreeSet() TreeSet(Collection<? extends E> c) 建 立 一 個 全 新 空 的 TreeSet 物 件 建 立 一 個 新 的 且 包 含 特 定 的 Collection 物 件 c 之 TreeSet 物 件

Java collection 集 合 物 件 16-11 下 表 為 SortedSet 介 面 的 method: 表 16.2.4 SortedSet 介 面 的 method method E first() SortedSet<E> headset(e toelm) E last() SortedSet<E> subset(e fromelm, E toelm) SortedSet<E> tailset(e fromelm) 主 要 功 能 取 得 集 合 物 件 中 的 第 一 個 元 素 取 得 小 於 toelm 的 TreeSet 物 件 取 得 集 合 物 件 中 的 最 後 一 個 元 素 取 得 大 於 等 於 fromelm, 且 小 於 toelm 的 TreeSet 物 件 取 得 大 於 等 於 fromelm 的 TreeSet 物 件 app16_2 是 一 個 簡 單 的 TreeSet 範 例 01 // app16_2, 簡 單 的 TreeSet 範 例 02 import java.util.*; 03 public class app16_2 04 { 05 public static void main(string args[]) 06 { 07 TreeSet<Integer> tset=new TreeSet<Integer>();

Java collection 集 合 物 件 16-12 08 09 for(int i=20;i>=2;i-=2) // 增 加 元 素 10 tset.add(i); 11 12 System.out.println(" 元 素 個 數 ="+tset.size()); 13 System.out.println(" 集 合 內 容 ="+tset); // 顯 示 集 合 物 件 的 內 容 14 15 System.out.println(" 第 一 個 元 素 ="+tset.first()); 16 System.out.println(" 最 後 一 個 元 素 ="+tset.last()); 17 System.out.println(" 介 於 6 和 14 之 間 的 集 合 ="+tset.subset(6,14)); 18 System.out.println(" 大 於 等 於 10 的 集 合 ="+tset.tailset(10)); 19 System.out.println(" 小 於 8 的 集 合 ="+tset.headset(8)); 20 } 21 } /* app16_2 OUTPUT------------------------- 元 素 個 數 =10 集 合 內 容 =[2, 4, 6, 8, 10, 12, 14, 16, 18, 20] 第 一 個 元 素 =2 最 後 一 個 元 素 =20 介 於 6 和 14 之 間 的 集 合 =[6, 8, 10, 12] 大 於 等 於 10 的 集 合 =[10, 12, 14, 16, 18, 20] 小 於 8 的 集 合 =[2, 4, 6] -------------------------------------------*/

Java collection 集 合 物 件 16-13 16.3 實 作 List 介 面 List 屬 於 有 序 集 合 物 件 (ordered collection), 會 依 照 特 定 的 順 序 排 列 List 中 的 資 料 可 以 重 覆, 且 元 素 有 索 引 值 (index) 下 表 列 出 了 List 介 面 裡 常 用 的 method: 表 16.3.1 List 介 面 常 用 的 method method void add(int index, E element) boolean addall(int index, Collection<? extends E> c) E get(int index) int indexof(object o) 主 要 功 能 在 index 位 置 加 入 element 元 素,List 的 索 引 值 從 0 開 始 在 index 位 置 加 入 Collection 的 所 有 元 素, 成 功 時 傳 回 true 從 集 合 中 取 得 並 傳 回 索 引 值 為 index 的 元 素 搜 尋 集 合 中 是 否 有 與 o 相 同 的 元 素, 傳 回 第 一 個 搜 尋 到 的 索 引 值, 找 不 到 則 傳 回 -1

Java collection 集 合 物 件 16-14 method Iterator iterator() int lastindexof(object o) 主 要 功 能 取 得 集 合 物 件 搜 尋 集 合 中 是 否 有 與 o 相 同 的 元 素, 傳 回 最 後 一 個 搜 尋 到 的 索 引 值, 找 不 到 則 傳 回 -1 ListIterator<E> listiterator() 取 得 實 作 ListIterator<E> 介 面 的 集 合 物 件, 即 listiterator(0), 第 一 個 元 素 的 索 引 值 為 0 ListIterator<E> listiterator(int index) 取 得 實 作 ListIterator<E> 介 面 的 集 合 物 件, 第 一 個 元 素 的 索 引 值 為 index E remove(int index) E set(int index, E element) 從 集 合 物 件 中 刪 除 index 位 置 的 元 素 將 集 合 中 index 位 置 的 元 素 置 換 成 element List<E> sublist(int fromindex, int toindex) 傳 回 索 引 值 fromindex( 含 ) 到 toindex( 不 含 ) 位 置 的 子 集 合

Java collection 集 合 物 件 16-15 16.3.1 實 作 List 介 面 LinkedList 類 別 鏈 結 串 列 (linked list) 的 節 點 (node), 分 為 2 個 欄 位, 分 別 是 資 料 欄 及 鏈 結 欄 : first 節 點 資 料 欄 鏈 結 欄 a b c d 節 點 儲 存 的 資 料 指 向 下 一 個 節 點 的 位 址 null 上 圖 可 改 寫 成 另 一 種 表 示 方 式 : 元 素 元 素 值 索 引 值 index a 0 b 1 c 2 d 3 first last

Java collection 集 合 物 件 16-16 下 圖 是 將 e 加 到 圖 16.3.2 中 的 LinkedList 物 件 起 始 處 之 後 的 情 形 : 索 引 值 會 自 動 重 新 排 列 元 素 值 索 引 值 index e 0 first a 1 b 2 c 3 d 4 last 下 表 列 出 LinkedList 建 構 元 與 常 用 的 method: 表 16.3.2 java.util.linkedlist<e> 類 別 的 建 構 元 與 method 建 構 元 LinkedList() LinkedList(Collection<? extends E> c) 主 要 功 能 建 立 一 個 空 的 LinkedList 物 件 建 立 一 個 包 含 特 定 的 Collection 物 件 c 之 LinkedList 物 件

Java collection 集 合 物 件 16-17 method void addfirst(e o) void addlast (E o) E getfirst() E getlast() E removefirst() E removelast() 主 要 功 能 將 元 素 o 加 入 LinkedList 物 件 的 起 始 處 將 元 素 o 加 入 LinkedList 物 件 的 結 尾 處 取 得 LinkedList 物 件 中 的 第 一 個 元 素 取 得 LinkedList 物 件 中 的 最 後 一 個 元 素 刪 除 並 傳 回 LinkedList 物 件 中 的 第 一 個 元 素 刪 除 並 傳 回 LinkedList 物 件 中 的 最 後 一 個 元 素 範 例 app16_3 是 LinkedList 的 簡 單 範 例 01 // app16_3, LinkedList 範 例 02 import java.util.*; 03 public class app16_3 04 { 05 public static void main(string args[]) 06 { 07 LinkedList<Integer> llist=new LinkedList<Integer>(); 08 09 for(int i=10;i<=30;i+=10) // 增 加 元 素 10 llist.add(i); 11 llist.addfirst(100);

Java collection 集 合 物 件 16-18 12 llist.addlast(200); 13 llist.addfirst(300); 14 15 System.out.println(" 元 素 個 數 ="+llist.size()); 16 System.out.print("LinkedList 的 元 素 :"); 17 for(int i=0;i<llist.size();i++) // 顯 示 集 合 物 件 的 內 容 18 System.out.print(llist.get(i)+" "); 19 20 System.out.print("\n 刪 除 最 後 一 個 元 素 "); 21 System.out.println(llist.removeLast()+"..."); 22 23 System.out.println(" 第 一 個 元 素 ="+llist.getfirst()); 24 System.out.println(" 最 後 一 個 元 素 ="+llist.getlast()); 25 System.out.println(" 元 素 值 為 200 的 索 引 值 ="+llist.indexof(200)); 26 } 27 } /* app16_3 OUTPUT------------------------- 元 素 個 數 =6 LinkedList 的 元 素 :300 100 10 20 30 200 刪 除 最 後 一 個 元 素 200... 第 一 個 元 素 =300 最 後 一 個 元 素 =30 元 素 值 為 200 的 索 引 值 =-1 -------------------------------------------*/

Java collection 集 合 物 件 16-19 16.3.2 實 作 List 介 面 ArrayList 類 別 元 素 加 入 ArrayList 物 件 時, 是 用 索 引 值 (index) 依 序 儲 存 ArrayList 類 別 的 建 構 元 如 下 表 所 示 : 表 16.3.3 java.util.arraylist<e> 類 別 的 建 構 元 建 構 元 ArrayList() ArrayList(Collection<? extends E> c) ArrayList(int initialcapacity) 主 要 功 能 建 立 一 個 空 的 ArrayList 物 件, 預 設 的 元 素 個 數 為 10 個 建 立 一 個 包 含 特 定 的 Collection 物 件 c 之 ArrayList 物 件 建 立 一 個 空 的 ArrayList 物 件, 指 定 的 元 素 個 數 為 initialcapacity 個

Java collection 集 合 物 件 16-20 ArrayList 類 別 除 了 實 作 List 介 面 的 method, 新 增 加 的 method 如 下 : 表 16.3.4 java.util.arraylist 類 別 的 method method void ensurecapacity(int mincapacity) void trimtosize() 主 要 功 能 設 定 ArrayList 物 件 的 容 量, 元 素 的 個 數 至 少 有 mincapacity 個 將 ArrayList 物 件 的 容 量 剪 裁 成 目 前 元 素 的 數 量

Java collection 集 合 物 件 16-21 app16_4 是 ArrayList 的 範 例 01 // app16_4, ArrayList 範 例 02 import java.util.*; 03 public class app16_4 04 { 05 public static void main(string args[]) 06 { 07 ArrayList<Integer> alist=new ArrayList<Integer>(); 08 09 for(int i=10;i<=50;i+=10) // 增 加 元 素 10 alist.add(i); 11 alist.add(3,200); 12 alist.add(0,300); 13 alist.add(400); 14 15 System.out.println(" 元 素 個 數 ="+alist.size()); 16 System.out.println("ArrayList 的 元 素 :"+alist); 17 System.out.println(" 將 索 引 值 1 的 元 素 以 200 取 代..."); 18 alist.set(1,200); 19 System.out.println("ArrayList 的 元 素 :"+alist); 20 System.out.print(" 第 一 個 元 素 值 為 200 的 索 引 值 ="); 21 System.out.println(alist.indexOf(200));

Java collection 集 合 物 件 16-22 22 System.out.print(" 最 後 一 個 元 素 值 為 200 的 索 引 值 ="); 23 System.out.println(alist.lastIndexOf(200)); 24 } 25 } /* app16_4 OUTPUT----------------------------------- 元 素 個 數 =8 ArrayList 的 元 素 :[300, 10, 20, 30, 200, 40, 50, 400] 將 索 引 值 1 的 元 素 以 200 取 代... ArrayList 的 元 素 :[300, 200, 20, 30, 200, 40, 50, 400] 第 一 個 元 素 值 為 200 的 索 引 值 =1 最 後 一 個 元 素 值 為 200 的 索 引 值 =4 ----------------------------------------------------*/

Java collection 集 合 物 件 16-23 16.4 實 作 Map 介 面 Map 要 以 關 鍵 值 (key) 儲 存 關 鍵 值 會 對 應 到 指 定 的 資 料, 即 對 應 值 (value) 下 表 為 Map 介 面 常 用 的 method: 表 16.4.1 Map<K,V> 介 面 常 用 的 method method void clear() boolean containskey(object key) boolean containsvalue(object value) V get(object key) boolean isempty() Set<K> keyset() V put(k key, V value) 主 要 功 能 從 集 合 中 移 除 所 有 的 元 素 當 集 合 物 件 裡 包 含 關 鍵 值 key, 即 傳 回 true 當 集 合 物 件 裡 包 含 對 應 值 value, 即 傳 回 true 傳 回 集 合 物 件 中 關 鍵 值 key 的 對 應 值 集 合 物 件 若 沒 有 任 何 元 素, 傳 回 true 將 關 鍵 值 轉 換 成 實 作 Set 介 面 的 物 件 將 關 鍵 值 key 新 增 至 集 合 物 件 中, 若 key 值 相 同, 則 將 對 應 值 value 取 代 舊 有 的 資 料

Java collection 集 合 物 件 16-24 method V remove(object key) int size() Collection<V> values() 主 要 功 能 從 集 合 物 件 中 刪 除 關 鍵 值 key 的 元 素, 成 功 時 傳 回 被 刪 除 的 value 值, 否 則 傳 回 null 傳 回 集 合 物 件 的 元 素 個 數 將 對 應 值 轉 換 成 實 作 Collection 介 面 的 物 件

Java collection 集 合 物 件 16-25 16.4.1 實 作 Map 介 面 HashMap 類 別 下 表 列 出 HashMap 類 別 的 建 構 元 : 表 16.4.2 java.util.hashmap<k,v> 類 別 的 建 構 元 建 構 元 HashMap() HashMap(int initialcapacity) HashMap(Map<? extends K,? extends V> m) 主 要 功 能 建 立 一 個 空 的 HashMap 物 件, 預 設 的 元 素 個 數 為 16 個 建 立 一 個 空 的 HashMap 物 件, 指 定 的 元 素 個 數 為 initialcapacity 個 建 立 一 個 包 含 特 定 的 Map 物 件 m 之 HashMap 物 件

Java collection 集 合 物 件 16-26 下 面 的 程 式 是 將 物 件 加 入 HashMap 之 範 例 01 // app16_5, HashMap 範 例 02 import java.util.*; 03 public class app16_5 04 { 05 public static void main(string args[]) 06 { 07 HashMap<Integer,String> hmap=new HashMap<Integer,String>(); 08 09 hmap.put(94001,"fiona"); 10 hmap.put(94003,"ariel"); 11 hmap.put(94002,"ryan"); 12 13 System.out.println(" 元 素 個 數 ="+hmap.size()); 14 System.out.println("HashMap 的 元 素 :"+hmap); 15 System.out.print("HashMap 中 是 否 有 關 鍵 值 94002? "); 16 System.out.println(hmap.containsKey(94002)); 17 System.out.print("HashMap 中 是 否 有 對 應 值 Kevin? "); 18 System.out.println(hmap.containsValue("Kevin")); 19 hmap.remove(94001); 20 System.out.print(" 清 除 關 鍵 值 94001 的 資 料..., ");

Java collection 集 合 物 件 16-27 21 System.out.println(" 元 素 個 數 ="+hmap.size()); 22 System.out.println("HashMap 的 元 素 :"+hmap); 23 System.out.println(" 關 鍵 值 94003 的 對 應 值 ="+hmap.get(94003)); 24 } 25 } /* app16_5 OUTPUT---------------------------------- 元 素 個 數 =3 HashMap 的 元 素 :{94001=Fiona, 94003=Ariel, 94002=Ryan} HashMap 中 是 否 有 關 鍵 值 94002? true HashMap 中 是 否 有 對 應 值 Kevin? false 清 除 關 鍵 值 94001 的 資 料..., 元 素 個 數 =2 HashMap 的 元 素 :{94003=Ariel, 94002=Ryan} 關 鍵 值 94003 的 對 應 值 =Ariel ---------------------------------------------------*/

Java collection 集 合 物 件 16-28 16.4.2 實 作 SortedMap 介 面 TreeMap 類 別 TreeMap 類 別 儲 存 的 元 素 分 為 關 鍵 值 key 與 對 應 值 value, 元 素 會 依 關 鍵 值 由 小 至 大 排 序 下 表 列 出 SortedMap 類 別 的 建 構 元 及 method: 表 16.4.3 java.util.treemap<k,v> 類 別 的 建 構 元 與 method 建 構 元 TreeMap() TreeMap(Map<? extends K,? extends V> m) TreeMap(SortedMap<K,? extends V> m) 主 要 功 能 建 立 一 個 空 的 TreeMap 物 件, 依 關 鍵 值 由 小 至 大 排 序 建 立 一 個 包 含 特 定 的 Map 物 件 m 之 TreeMap 物 件 建 立 一 個 包 含 特 定 的 實 作 SortedMap 介 面 物 件 m 之 TreeMap 物 件

Java collection 集 合 物 件 16-29 method K firstkey() K lastkey() SortedMap<E> submap(k fromkey, K tokey) SortedMap<E> tailmap(k fromkey) 主 要 功 能 傳 回 集 合 中 第 一 個 關 鍵 值, 即 最 小 關 鍵 值 傳 回 集 合 中 最 後 一 個 關 鍵 值, 即 最 大 關 鍵 值 取 得 大 於 等 於 fromkey, 且 小 於 tokey 的 TreeMap 物 件 取 得 大 於 等 於 fromkey 的 TreeMap 物 件 app16_6 是 TreeMap 的 簡 單 範 例 01 // app16_6, TreeMap 範 例 02 import java.util.*; 03 public class app16_6 04 { 05 public static void main(string args[]) 06 { 07 int k1=94001,k2=94003,key; 08 TreeMap<Integer,String> tmap=new TreeMap<Integer,String>(); 09 10 tmap.put(94001,"fiona"); 11 tmap.put(94003,"ariel"); 12 tmap.put(94002,"ryan");

Java collection 集 合 物 件 16-30 13 tmap.put(94004,"jack"); 14 15 System.out.println(" 元 素 個 數 ="+tmap.size()); 16 System.out.println("TreeMap 的 元 素 :"+tmap); 17 key=tmap.firstkey(); 18 System.out.println(" 第 一 個 元 素 = "+key+", "+tmap.get(key)); 19 key=tmap.lastkey(); 20 System.out.println(" 最 後 一 個 元 素 = "+key+", "+tmap.get(key)); 21 System.out.print(" 介 於 "+k1+" 和 "+k2+" 之 間 的 TreeMap="); 22 System.out.println(tmap.subMap(k1,k2)); 23 System.out.print(" 大 於 等 於 "+k2+" 的 TreeMap="); 24 System.out.println(tmap.tailMap(k2)); 25 } 26 } /* app16_6 OUTPUT---------------------------------------------- 元 素 個 數 =4 TreeMap 的 元 素 :{94001=Fiona, 94002=Ryan, 94003=Ariel, 94004=Jack} 第 一 個 元 素 = 94001, Fiona 最 後 一 個 元 素 = 94004, Jack 介 於 94001 和 94003 之 間 的 TreeMap={94001=Fiona, 94002=Ryan} 大 於 等 於 94003 的 TreeMap={94003=Ariel, 94004=Jack} ---------------------------------------------------------------*/

Java collection 集 合 物 件 16-31 16.5 走 訪 集 合 物 件 的 元 素 Iterator 與 ListIterator 介 面, 可 用 來 走 訪 或 是 刪 除 集 合 物 件 的 元 素 16.5.1 使 用 Iterator 介 面 走 訪 元 素 Iterator 物 件 的 讀 取 是 單 向 的, 且 只 能 讀 取 一 次 下 表 列 出 Iterator 介 面 的 method: 表 16.5.1 Iterator<E> 的 method method Iterator<E> iterator() boolean hasnext() E next() void remove() 主 要 功 能 取 得 實 作 Iterator<E> 介 面 的 集 合 物 件 集 合 中 若 是 有 下 一 個 元 素, 即 傳 回 true 傳 回 集 合 的 下 一 個 元 素 刪 除 集 合 中 最 後 一 個 取 得 的 元 素

Java collection 集 合 物 件 16-32 想 走 訪 TreeSet<String> 物 件 tset, 程 式 的 敘 述 及 解 釋 如 下 圖 所 示 : 與 實 作 Iterator 介 面 的 集 合 物 件 之 泛 型 型 態 相 同 實 作 Iterator 介 面 的 集 合 物 件 名 稱 Iterator< String > itr = tset. iterator() ; Iterator 介 面 的 iterator() method 取 得 實 作 Iterator<E> 介 面 的 集 合 物 件 名 稱 下 面 是 利 用 Iterator 介 面 的 method 走 訪 物 件 裡 的 元 素 的 範 例 : 01 // app16_7, 以 Iterator 走 訪 TreeSet 元 素 02 import java.util.*; 03 public class app16_7 04 { 05 public static void main(string args[]) 06 { 07 TreeSet<String> tset=new TreeSet<String>(); 08 String str=""; 09 tset.add("moneky"); // 增 加 元 素 10 tset.add("bunny"); // 增 加 元 素

Java collection 集 合 物 件 16-33 11 tset.add("puppy"); // 增 加 元 素 12 tset.add("kitten"); // 增 加 元 素 13 14 Iterator<String> itr=tset.iterator(); 15 System.out.print("TreeSet 內 容 :"); 16 while(itr.hasnext()) // 走 訪 元 素 17 { 18 str=itr.next(); 19 System.out.print(str+" "); // 印 出 元 素 內 容 20 } 21 22 System.out.println("\n 刪 除 最 後 讀 取 的 元 素 "+str+"..."); 23 itr.remove(); // 刪 除 最 後 讀 取 的 元 素 24 System.out.println("TreeSet 內 容 :"+tset); 25 } 26 } /* app16_7 OUTPUT--------------------- TreeSet 內 容 :Bunny Kitten Moneky Puppy 刪 除 最 後 讀 取 的 元 素 Puppy... TreeSet 內 容 :[Bunny, Kitten, Moneky] --------------------------------------*/

Java collection 集 合 物 件 16-34 16.5.2 使 用 ListIterator 介 面 走 訪 元 素 ListIterator 物 件 的 走 訪 可 以 是 雙 向 的 下 表 列 出 ListIterator 介 面 的 method: 表 16.5.2 ListIterator<E> 的 method method ListIterator<E> listiterator() ListIterator<E> listiterator(int index) void add(e o) boolean hasnext() boolean hasprevious() E next() int nextindex() E previous() int previousindex() 主 要 功 能 取 得 實 作 ListIterator<E> 介 面 的 集 合 物 件, 即 listiterator(0), 第 一 個 元 素 的 索 引 值 為 0 取 得 實 作 ListIterator<E> 介 面 的 集 合 物 件, 第 一 個 元 素 的 索 引 值 為 index 在 下 一 個 元 素 前 加 入 o 集 合 中 若 是 有 下 一 個 元 素, 即 傳 回 true 集 合 中 若 是 有 前 一 個 元 素, 即 傳 回 true 傳 回 集 合 的 下 一 個 元 素 傳 回 集 合 的 下 一 個 元 素 之 索 引 值 傳 回 集 合 的 前 一 個 元 素 傳 回 集 合 的 前 一 個 元 素 之 索 引 值

Java collection 集 合 物 件 16-35 method void remove() void set(e o) 主 要 功 能 刪 除 集 合 中 最 後 一 個 取 得 的 元 素 將 集 合 中 的 最 後 一 個 元 素 以 o 取 代 下 圖 為 listiterator() method 的 使 用 說 明 : 與 實 作 ListIterator 介 面 的 集 合 物 件 之 泛 型 型 態 相 同 實 作 ListIterator 介 面 的 集 合 物 件 名 稱 ListIterator< Integer > litr = llist. listiterator() ; 取 得 實 作 ListIterator<E> 介 面 的 集 合 物 件 名 稱 ListIterator 介 面 的 listiterator() method

Java collection 集 合 物 件 16-36 listiterator() method 的 使 用 方 法 如 下 : 01 // app16_8, 以 ListIterator 走 訪 LinkedList 元 素 02 import java.util.*; 03 public class app16_8 04 { 05 public static void main(string args[]) 06 { 07 LinkedList<Integer> llist=new LinkedList<Integer>(); 08 09 for(int i=10;i<=100;i+=10) // 增 加 元 素 10 llist.add(i); 11 12 ListIterator<Integer> litr1=llist.listiterator(); 13 14 System.out.print(" 正 向 列 出 LinkedList 內 容 :"); 15 while(litr1.hasnext()) // 正 向 走 訪 元 素 16 System.out.print(litr1.next()+" "); // 印 出 元 素 內 容 17 System.out.println(); 18 19 ListIterator<Integer> litr2=llist.listiterator(llist.size()); 20 System.out.print(" 反 向 列 出 LinkedList 內 容 :"); 21 while(litr2.hasprevious()) // 反 向 走 訪 元 素

Java collection 集 合 物 件 16-37 22 System.out.print(litr2.previous()+" "); // 印 出 元 素 內 容 23 System.out.println(); 24 } 25 } /* app16_8 OUTPUT----------------------------------- 正 向 列 出 LinkedList 內 容 :10 20 30 40 50 60 70 80 90 100 反 向 列 出 LinkedList 內 容 :100 90 80 70 60 50 40 30 20 10 ----------------------------------------------------*/

Java collection 集 合 物 件 16-38