iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0

今天繼續Collection的部分。

讓我們來看看一樣是Collection家族的Set。

與其他Collection中的成員一樣,Set一樣可用於收集物件,但若在收集物件的過程中若有相同物件,則不再重複收集。如果你有這類需求,則可以使用Set介面實作。

HashSet

HashSet實作Set介面,Set介面繼承Collection介面,而HashSet利用Hash Table實作。
https://ithelp.ithome.com.tw/upload/images/20200924/20128925D62wKOzqsO.png

public static void main(String[] args) {
Set<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(2);
set.add(3);
set.add(1);
for(Integer i: set) {
	System.out.print(i + " ");
   }
}

https://ithelp.ithome.com.tw/upload/images/20200924/20128925acgVDobdY3.png

讓我們來看一下Set的效果,終端機只印出了1,2,3這三個數字,儘管我們輸入了兩次1,Set卻幫我們過濾掉了重複的數字。

接下來,讓我們看一下Map

Map 跟List和 Set不同,不屬於Collection下的子介面
Map有Key跟Value組成一對。
而Key有唯一性,若新增同一個key有不同的value,會把原先key值的資料蓋過去。

Hashmap
HashMap實作Map介面,內部實作使用Hash Table。
所謂的key/value對,簡單的說,您將Map容器物件當作一個有很多間房間的房子,每個房間的門有一把鑰匙,將物件儲存至房間中時,要順便擁有一把鑰匙,下次要取回物件時,就是根據這把鑰匙取得。

https://ithelp.ithome.com.tw/upload/images/20200924/20128925q0vtriUxSA.jpg

以上就是今天的內容。


Hi, I am Grant.

個人部落格 - https://grantliblog.wordpress.com/
個人網站 - https://grantli-website.netlify.app/#/mainpage
我的寫作專題 - https://vocus.cc/user/5af2e9b5fd89780001822db4#


上一篇
Day10 - Collection 與 Map
下一篇
Day12 - 介面(Interface)
系列文
30天手把手帶你跟JAVA變成好朋友 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言