List、Set、Map是繼承自Collection嗎?


List:

1、可以允許多個重復元素

2、可以插入多個null元素

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

4、常用的實現類有ArrayList、LinkList和Vector。用的最多的就是ArrayList,它提供了使用索引的隨意訪問,查詢快,增刪慢;LinkList則查詢慢,增刪快。

Set:

1、不允許重復元素

2、只可以插入一個null元素

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

4、Set接口常用的實現類是HashSet、LinkedHashSet以及TreeSet

List和Set是繼承自Collection接口,Map不是

Map:

1、Map不是collection的子接口或者實現類。Map是一個接口。
2、Map 的 每個 Entry 都持有兩個對象,也就是一個鍵一個值(鍵值對),Map 可能會持有相同的值對象但鍵對象必須是唯一的。
3、TreeMap 也通過 Comparator 或者 Comparable 維護了一個排序順序。
4、Map 里你可以擁有隨意個 null 值但最多只能有一個 null 鍵。
5、Map 接口最流行的幾個實現類是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。(HashMap、TreeMap最常用)

HashMap、TreeMap和HashTable的區別?

Map接口有三個重要的實現類,分別是HashMap、TreeMap和HashTable

HashTable:無序且不允許鍵和值為null,否則運行時報空指針異常,方法同步,線程安全,很少被推薦

HashMap:無序,鍵和值可以為null,鍵不可重復,值可以重復,不同步,用鍵值對存取的首選

TreeMap:有序,查詢結果默認升序,鍵不可重復,值可以重復


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM