列表(list)和設定(set)的區別

大多數程式語言使用陣列來儲存一組相同型別的資料。陣列的一個主要缺點是,一旦聲明瞭陣列大小,就不能修改它。如果程式設計師想儲存一個超過陣列大小的值,那麼他應該建立一個新陣列,並將現有元素複製到新陣列中。在這些情況下,可以使用集合。在集合的支援下,可以新增元素、刪除元素和許多其他操作。在Java等程式語言中有不同型別的集合。List和Set是集合層次結構的介面。其他介面的基本介面是Collection。L...

關鍵區別-列表與集合

大多數編程語言使用數組來存儲一組相同類型的數據。數組的一個主要缺點是,一旦聲明瞭數組大小,就不能修改它。如果程序員想存儲一個超過數組大小的值,那麼他應該創建一個新數組,並將現有元素複製到新數組中。在這些情況下,可以使用集合。在集合的支持下,可以添加元素、刪除元素和許多其他操作。在Java等編程語言中有不同類型的集合。List和Set是集合層次結構的接口。其他接口的基本接口是Collection。List和Set的關鍵區別在於List支持多次存儲同一個元素,Set不支持多次存儲同一個元素。因此,集合不允許重複。

目錄

1. 概述和主要區別
2. 什麼是列表
3.設置了什麼
4. 列表與集合的相似性
5. 並列比較-以表格形式列出與設置
6. 摘要

什麼是列表(list)?

列表是擴展集合接口的接口。集合接口中有許多方法。add方法有助於添加元素。“remove方法”是刪除元素。“addAll method”用於添加多個元素,而“removeAll method”用於從集合中移除元素。contains方法有助於查找列表中是否存在特定對象。“containsAll”用於查找集合中是否存在一組對象。iterator方法用於循環遍歷列表中的項。由於List擴展了Collection,所以所有的Collection方法都屬於List。除了這些方法之外,列表還有get和set等方法。程序員可以使用get方法在特定索引處獲取值。程序員可以使用set方法在特定索引處設置值。“indexOf”用於查找元素的索引。

在列表中,可以根據位置執行操作。程序員可以提供要添加到索引中的數據元素。所以它會被添加到具體的索引中。如果程序員沒有給出索引,元素將被添加到列表的末尾。它還保持**的順序。如果添加了元素1,然後添加了元素2,那麼元素1將位於元素2之前。

列表(list)和設置(set)的區別

圖01:列表和設置

ArrayList,LinkedList,Vector是一些實現List的類。在ArrayList中,訪問元素的速度很快,但**和刪除速度較低。ArrayList不是線程安全的。從多個線程訪問同一個ArrayList可能不會得到相同的結果。在LinkedList中,元素同時鏈接到backward和forward。使用LinkedList**和刪除元素比ArrayList快。LinkedList實現列表和隊列。Vector類似於ArrayList,但它是安全的,因為所有方法都是同步的。

什麼是設置(set)?

Set是擴展集合接口的接口。由於Set接口擴展了Collection,所以所有的Collection方法也都屬於Set。集合不支持重複值。因此,程序員不能將同一個元素存儲兩次。它維護一組獨特的元素。SortedSet接口擴展了Set接口。SortedSet按排序順序維護元素。NavigableSet接口擴展了SortedSet。NavigableSet提供了導航方法,如lower、floor、天花板等。

HashSet、LinkedHashSet和TreeSet是一些實現Set接口的類。HashSet實現Set接口。它不保持**的順序。如果值以a,x,b的形式**,它可能存儲為,x,a,b。LinkedSet保持**順序。如果元素以a,x,b的順序**,則存儲順序為a,x,b。樹集實現Set和NavigableSet。它不保持**的順序,但按排序的順序存儲元素。如果**的順序是a、c、b,那麼元素將被存儲為a、b、c。所有HashSet、LinkedHashSet和TreeSet都不會有任何重複的元素。

列表(list)和設置(set)的共同點

  • 列表和集合接口都擴展了集合接口。
  • 列表和集合都支持添加、刪除元素等操作。

列表(list)和設置(set)的區別

列表與集合
列表接口是集合的子接口,它包含根據索引執行**、刪除等操作的方法。 Set Interface是集合的子接口,它包含在維護唯一元素的同時執行**、刪除元素等操作的方法。
班級
ArrayList、Vector和LinkedList是實現列表接口的類。 HashSet、LinkedHashSet和TreeSet是實現Set接口的類。
元素複製
列表支持元素的重複。 集合不支持元素的重複。元素是獨一無二的。

總結 - 列表(list) vs. 設置(set)

集合用於動態存儲元素。Java等編程語言提供了集合接口。列表和集合是兩個屬於集合接口的接口。兩個接口都擴展了集合。本文討論了列表與集合的區別。List和Set的關鍵區別在於List支持多次存儲同一個元素,Set不支持多次存儲同一個元素。集合始終保持唯一的元素。

引用
  • 發表於 2020-10-19 09:09
  • 閱讀 ( 47 )
  • 分類:科技

你可能感興趣的文章

領域(field)和c屬性#(property in c#)的區別

...沒有儲存位置。屬性具有訪問器,這些訪問器包含讀取值和設定值的可執行語句。訪問器宣告可以包含get訪問器和set訪問器。假設有一個類名Employee,它包含私有欄位,比如Employee no、name和department。這些欄位不能直接從類外部訪...

  • 發佈於 2020-10-19 02:36
  • 閲讀 ( 48 )

記憶體快取(memcached)和雷迪斯(redis)的區別

...等,它使用資料結構來儲存資料。主要資料結構有字串、列表、集合、排序集和雜湊、點陣圖等,Redis是用C語言編寫的,是一個開源的跨平臺系統。 圖01:Redis Redis的主要優點是它將資料儲存在記憶體中。這使得Redis速度很快。...

  • 發佈於 2020-10-19 23:25
  • 閲讀 ( 44 )

造型師(stylist)和設計師(designer)的區別

造型師(stylist)和設計師(designer)的區別 當我們談論時裝行業時,我們會想到設計師和設計師這兩個詞。這兩個職位在時尚界都佔有重要地位。如果沒有設計師和設計師,時尚產業甚至是我們日常生活中的“時尚”這個詞都會變...

  • 發佈於 2020-10-24 02:12
  • 閲讀 ( 49 )

樹集(treeset)和樹狀圖(treemap)的區別

樹集(treeset)和樹狀圖(treemap)的區別 陣列用於儲存一組相同型別的資料元素。大多數程式語言都支援陣列。即使一個數組可以儲存多個值,它也有一個主要的缺點。陣列一旦建立,就不可能更改它。如果程式設計師聲明瞭一個...

  • 發佈於 2020-10-24 02:47
  • 閲讀 ( 39 )

機頂盒(set top box)和dth公司(dth)的區別

...用者在另一端解碼和觀看。 什麼是機頂盒(a set-top box)? 設定盒是一種接收數字訊號、解碼並在電視顯示器上顯示的裝置。接收到的訊號可以是電視訊號或因特網資料訊號。訊號可以透過電纜或電話連線接收。過去,機頂盒主要...

  • 發佈於 2020-10-28 00:02
  • 閲讀 ( 55 )

internet explorer 11(internet explorer 11)和狩獵8(safari 8)的區別

...同的蘋果裝置上同步您的密碼、書籤、歷史、標籤和閱讀列表。Safari中另一個顯著的新特性是資訊共享的方便性。新共享按鈕允許與郵件、Facebook、Twitter和Airdrop等各種來源共享連結。Safari將智慧搜尋框與作業系統聚光燈功能整...

  • 發佈於 2020-10-29 14:34
  • 閲讀 ( 36 )

藝術(art)和設計(design)的區別

藝術vs設計 藝術和設計之間的區別實際上是不同的,儘管今天大多數人都認為兩者是一樣的。眾所周知,藝術是人類的創造。它是一種自我表達的形式,給那些有藝術傾向的人一種滿足內心衝動的方式。在這個過程中,他們...

  • 發佈於 2020-11-05 13:51
  • 閲讀 ( 49 )

你的蘋果手錶慢了嗎?這裡有6個技巧來解決它

...向下滾動至底部,您將看到安裝在Apple Watch上的應用程式列表。點選要刪除的應用程式。如果iPhone上仍安裝了應用程式,請禁用Apple Watch上的Show app。如果您已經從iPhone中刪除了應用程式,請單擊Apple Watch上的Delete app。如何從apple ...

  • 發佈於 2021-03-10 22:46
  • 閲讀 ( 60 )

如何使用sweetfx獲得令人驚歎的pc圖形

...。同樣適用於角色細節和盔甲。即使是遊戲開始時的載入和設定螢幕也會看起來更好。最重要的是,SweetFX不會以遊戲效能為代價執行。 ...

  • 發佈於 2021-03-17 09:24
  • 閲讀 ( 90 )

如何過濾社交媒體上的有毒評論

...以定義一個到期期限,在此期限之後,字串將自動從禁用列表中刪除。例如,如果你想避免推特上關於你不喜歡的事件或電視節目的破壞者的資訊,這會很有用。 ...

  • 發佈於 2021-03-20 19:51
  • 閲讀 ( 56 )
w1attj9c9e6q8v
w1attj9c9e6q8v

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦