集合和映射

115 阅读2分钟

集合和映射

image.png

生活中有哪些東西具有唯一性呢?例如全世界找不到第二個你 XD,我們的常常使用的身分證車牌號碼,也都具有唯一性的,所以可以快速辨別身分

你有使用網路字典的習慣嗎?當我們輸入某個字詞,按下搜尋之後,網頁就會顯示相關的說明文字,字典內含有大量的資料,如何快速找到字詞的相關解釋,關鍵字就十分重要

image.png 或是像 office word 中的目錄功能或一般閱讀書籍的目錄,也可以讓我們快速查找相關內容以及對應的頁碼

image.png

集合 Collection

會儲存多筆資料,像是陣列 (Array)、串列 (List) 與 HashSet 都是集合的一種,今天會特別介紹一下 HashSet

集合的特性

  • 排序性:會自動將資料由小至大排序 (例如:SortedSet)
  • 順序性:資料會以某種順序儲存資料 (例如:List)
  • 重覆性:資料是否允許重覆 (例如:List 允許重覆,HashSet 不允許重覆)
  • 鍵值:可使用鍵值來存取資料,每個集合中的元素都有自己的鍵值,鍵值具唯一性

HashSet

  • 無排序
  • 無順序
  • 資料不可重覆,可以含有空元素
  • 無鍵值 數字 | 除以 5 取餘數 | | -- | -------- | | 0 | 0 | | 1 | 1 | | 2 | 2 | | 3 | 3 | | 4 | 4 | | 5 | 0 | | 6 | 1 | | 7 | 2 | | 8 | 3 | | 9 | 4 | | 10 | 0

image.png

實際應用

資料不可重覆的特性可以用在比對不同資料之間的交集聯集

映射 Map / 字典 Dictionary

Map 可以讓我們使用快速的找到對應的內容,也就是我們常稱的鍵值對(key-value pairs),是索引鍵內容的集合,常用 Map < K, V > 表示

特性

  • 鍵值不能重覆,每個鍵值只能對應一個內容
  • 內容可以重覆,不同鍵值,可存放別的鍵值存放過的內容
  • 可各別操作鍵值或內容

image.png

今日小結

映射是使用率很高的一種資料結構,由其可透過鍵值搜尋資料的方式真的很方便,一定要記得它 XD