日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java集合:Collection和Map

發(fā)布時間:2025/3/21 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java集合:Collection和Map 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Collection是Java集合的一個接口,其實現(xiàn)類有Set、List等;

Collections是集合的工具類,提供了一系列的靜態(tài)方法,如排序、搜索等;


說說collection里面有什么子類。

(其實面試的時候聽到這個問題的時候,你要知道,面試官是想考察List,Set)

list和set是實現(xiàn)了collection接口;List是有序集合、Set是無序集合。

List:1.可以允許重復(fù)的對象。

   ?2.可以插入多個null元素。

? ? ? ? 3.是一個有序容器,保持了每個元素的插入順序,輸出的順序就是插入的順序。

? ? ? ? 4.常用的實現(xiàn)類有?ArrayList、LinkedList 和 Vector。ArrayList 最為流行,它提供了使用索引的隨意訪問,而 LinkedList 則對于經(jīng)常需要從 List 中添加或刪除元素的場合更為合適。

?

Set:1.不允許重復(fù)對象

   ? 2. 無序容器,你無法保證每個元素的存儲順序,TreeSet通過 Comparator ?或者 Comparable 維護了一個排序順序。

? ? ? ? 3.?只允許一個 null 元素

? ? ? ? 4.Set 接口最流行的幾個實現(xiàn)類是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基于 HashMap 實現(xiàn)的 HashSet;LinkedHashSet使用鏈表記錄元素的插入順序;TreeSet 還實現(xiàn)了 SortedSet 接口,因此 TreeSet 是一個根據(jù)其 compare() 和 compareTo() 的定義進行排序的有序容器。


說說Map

1.Map不是collection的子接口或者實現(xiàn)類。Map是一個接口。

2.Map 的 每個 Entry 都持有兩個對象,也就是一個鍵一個值,Map 可能會持有相同的值對象但鍵對象必須是唯一的。

3.?TreeMap 也通過 Comparator ?或者 Comparable 維護了一個排序順序(按照鍵進行排序)。

4.?Map 里你可以擁有隨意個 null 值但最多只能有一個 null 鍵。

5.Map 接口最流行的幾個實現(xiàn)類是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。(HashMap、TreeMap最常用)


List、Set、Map之間的區(qū)別是?

(或者會問為什么這里要用list、或者set、map,這里回答它們的優(yōu)缺點就可以了)

  • 如果你經(jīng)常會使用索引來對容器中的元素進行訪問,那么 List 是你的正確的選擇。如果你已經(jīng)知道索引了的話,那么 List 的實現(xiàn)類比如 ArrayList 可以提供更快速的訪問,如果經(jīng)常添加刪除元素的,那么肯定要選擇LinkedList。

  • 如果你想容器中的元素能夠按照它們插入的次序進行有序存儲,那么還是 List,因為 List 是一個有序容器,它按照插入順序進行存儲。

  • 如果你想保證插入元素的唯一性,也就是你不想有重復(fù)值的出現(xiàn),那么可以選擇一個 Set 的實現(xiàn)類,比如 HashSet、LinkedHashSet 或者 TreeSet。所有 Set 的實現(xiàn)類都遵循了統(tǒng)一約束比如唯一性,而且還提供了額外的特性比如 TreeSet 還是一個 SortedSet,所有存儲于 TreeSet 中的元素可以使用 Java 里的 Comparator 或者 Comparable 進行排序。LinkedHashSet 也按照元素的插入順序?qū)λ鼈冞M行存儲。

  • 如果你以鍵和值的形式進行數(shù)據(jù)存儲那么 Map 是你正確的選擇。你可以根據(jù)你的后續(xù)需要從 Hashtable、HashMap、TreeMap 中進行選擇。

  • ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Java集合:Collection和Map的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。