Set

更新於 發佈於 閱讀時間約 1 分鐘

Set 是繼承 Collection API的一個子接口 interface

唯一的限制是不允許重覆的物件存在

所以當不想有相同的物件出現,就可以選擇用Set,同時選擇合適的實作

Set常用的實作主要有3個:

  • LinkedHashSet

保證裡面元素存放的順序與新增時相同,最適合拿來存放由資料庫中存取的資料集

從資料庫中取出的sql 語法可能已經order by排序過


  • HashSet

讀取特快,但不保證存放元素的順序。因為講求速度,就不管你三七二十一


  • TreeSet

依物件大小來決定集合裡面的順序。所以存放於TreeSet中的元素必需是(實作) Comparable的物件。有時候當從自料庫中存取的資料必需自行排序時,就會用到

自行實作Comparable,就是自己決定物件該如何比大小


我的Java學習日記
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
程式建立thread,然後會交給硬體中的scheduler去排定執行、切換資源 我們無法強制指定順序,因為電腦有太多任務需要執行,但資源有限,因此會由scheduler去分配、切換資源 電腦能同時執行多項任務
Error分為三種 Compile time error Runtime error 俗稱(Exception) Logical error
普通的interface:有一個以上的abstract method Functinal Interface...
所有被宣告在interface中的method都是public abstract 所以interface中的method才不需要特地標上修飾符與abstract interface只體現設計方向 而如何實現此設計
abstract method 一定要在 abstract class裡面 abstract class裡面不一定要有abstract method
public: 可以在任何地方存取(access) private: 只能在同class中存取 default: 只能在同package中存取 protected: 只能在同package,以及它的子class存取。不能在不同package的非子class存取
程式建立thread,然後會交給硬體中的scheduler去排定執行、切換資源 我們無法強制指定順序,因為電腦有太多任務需要執行,但資源有限,因此會由scheduler去分配、切換資源 電腦能同時執行多項任務
Error分為三種 Compile time error Runtime error 俗稱(Exception) Logical error
普通的interface:有一個以上的abstract method Functinal Interface...
所有被宣告在interface中的method都是public abstract 所以interface中的method才不需要特地標上修飾符與abstract interface只體現設計方向 而如何實現此設計
abstract method 一定要在 abstract class裡面 abstract class裡面不一定要有abstract method
public: 可以在任何地方存取(access) private: 只能在同class中存取 default: 只能在同package中存取 protected: 只能在同package,以及它的子class存取。不能在不同package的非子class存取
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
Dart 的 Set(集合)是一種無序且不重複的資料結構,主要用於儲存唯一元素。本文介紹了 Set 的基本操作,包括宣告空 Set、初始化 Set、新增和刪除元素、取得大小、清空 Set,以及集合運算(聯集、交集和差集)。
集合(Collection)是一種資料結構,用來儲存多個元素組合,通常具有共同特性或性質 主要的特點如下: 不允許重複 不用管其順序 例:想像你有一個盒子,這個盒子可以用來裝不同的物品。 依造剛才所說的特點,不允許重複,如果你已經放了一顆紅色的球在盒子裡,當你再放一顆紅色球進去時,盒子會告
你有沒有遇過這樣的情況:需要一個接一個地處理某個集合裡的東西,但又不想去理解它內部是如何儲存的?就像你讀書時,只要翻頁閱讀,不用去管書的裝訂方式。這就是迭代器模式要解決的問題。 什麼是迭代器模式? 迭代器模式就是提供了一個統一的方式來遍歷集合中的元素,而不必暴露集合的內部結構。這很像你在看一
Thumbnail
Array可以說是各種語言除了基本型別之外,最常用的資料型別與容器之一了。 Array 這種連續格子狀的資料結構,在Python要怎麼表達呢? 建立一個空的陣列 最簡單也最直接的寫法就是 array = [] # Python list [] 就對應到大家熟知的array 陣列型態的資料結
Thumbnail
子集合生成是一道經典的組合類上機考和面試題目。本篇文章介紹多個不同的解決方案,以及相關演算法框架。主要目標是給定n個相異的元素,產生所有的子集合。
Thumbnail
很明顯可以看到 parallelSort(T[], Comparator<T> 大概可以帶來 2.5 倍到接近 3 倍的效能增益 (和數量無關)。所以,結論是當需要處理大量資料的排序時,真的可以考慮使用 parallelSort(T[], Comparator<T>。
※ 什麼是資料庫正規化?為什麼需要正規化? 什麼是資料庫正規化? 資料庫正規化是一種設計關聯式資料庫的方法,目的是建立良好結構的關聯表,主要目的有二: 去除重複性:建立沒有重複的關聯表。因為重複資料不只浪費資料庫的儲存空間,而且會產生資料維護上的問題。 去除不一致的相依性:資料相依是指關聯表
Thumbnail
題目敘述 題目會給定我們兩個字串。 第一個是指定順序的字串order。 第二個是輸入字串s。 要求我們依據order給定的順序,重新排列s。 如果出現order中沒有出現的字母,任意位置皆可。 合法答案可能不只一組,輸出其中一種即可。 題目的原文敘述 測試範例 Example
Thumbnail
題目敘述 題目的情境是設計並且實現一個包含所有正整數的數據流,以set集合的方式存在。 數據流 = {1, 2, 3, 4, ..., ∞} 要求我們去實現定義好的function介面: SmallestInfiniteSet()建構子,初始化這個包含所有正整數的數據流。 int po
Thumbnail
列表(List)和元組(Tuple)都是 Python 中用來存儲集合元素的數據結構,兩者看起來很像,在初學時很容易搞混,所以觀念要建立好。 可以把列表(List)和元組(Tuple)想像成是一個容器,什麼元素都可以塞
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
Dart 的 Set(集合)是一種無序且不重複的資料結構,主要用於儲存唯一元素。本文介紹了 Set 的基本操作,包括宣告空 Set、初始化 Set、新增和刪除元素、取得大小、清空 Set,以及集合運算(聯集、交集和差集)。
集合(Collection)是一種資料結構,用來儲存多個元素組合,通常具有共同特性或性質 主要的特點如下: 不允許重複 不用管其順序 例:想像你有一個盒子,這個盒子可以用來裝不同的物品。 依造剛才所說的特點,不允許重複,如果你已經放了一顆紅色的球在盒子裡,當你再放一顆紅色球進去時,盒子會告
你有沒有遇過這樣的情況:需要一個接一個地處理某個集合裡的東西,但又不想去理解它內部是如何儲存的?就像你讀書時,只要翻頁閱讀,不用去管書的裝訂方式。這就是迭代器模式要解決的問題。 什麼是迭代器模式? 迭代器模式就是提供了一個統一的方式來遍歷集合中的元素,而不必暴露集合的內部結構。這很像你在看一
Thumbnail
Array可以說是各種語言除了基本型別之外,最常用的資料型別與容器之一了。 Array 這種連續格子狀的資料結構,在Python要怎麼表達呢? 建立一個空的陣列 最簡單也最直接的寫法就是 array = [] # Python list [] 就對應到大家熟知的array 陣列型態的資料結
Thumbnail
子集合生成是一道經典的組合類上機考和面試題目。本篇文章介紹多個不同的解決方案,以及相關演算法框架。主要目標是給定n個相異的元素,產生所有的子集合。
Thumbnail
很明顯可以看到 parallelSort(T[], Comparator<T> 大概可以帶來 2.5 倍到接近 3 倍的效能增益 (和數量無關)。所以,結論是當需要處理大量資料的排序時,真的可以考慮使用 parallelSort(T[], Comparator<T>。
※ 什麼是資料庫正規化?為什麼需要正規化? 什麼是資料庫正規化? 資料庫正規化是一種設計關聯式資料庫的方法,目的是建立良好結構的關聯表,主要目的有二: 去除重複性:建立沒有重複的關聯表。因為重複資料不只浪費資料庫的儲存空間,而且會產生資料維護上的問題。 去除不一致的相依性:資料相依是指關聯表
Thumbnail
題目敘述 題目會給定我們兩個字串。 第一個是指定順序的字串order。 第二個是輸入字串s。 要求我們依據order給定的順序,重新排列s。 如果出現order中沒有出現的字母,任意位置皆可。 合法答案可能不只一組,輸出其中一種即可。 題目的原文敘述 測試範例 Example
Thumbnail
題目敘述 題目的情境是設計並且實現一個包含所有正整數的數據流,以set集合的方式存在。 數據流 = {1, 2, 3, 4, ..., ∞} 要求我們去實現定義好的function介面: SmallestInfiniteSet()建構子,初始化這個包含所有正整數的數據流。 int po
Thumbnail
列表(List)和元組(Tuple)都是 Python 中用來存儲集合元素的數據結構,兩者看起來很像,在初學時很容易搞混,所以觀念要建立好。 可以把列表(List)和元組(Tuple)想像成是一個容器,什麼元素都可以塞