List Set Map的区别
List Set Map各自實現類區別以及底層原理和實現 最新總結
List Set Map的區別
結構不同
List 和 Set 是存儲單列數據的集合,Map 是存儲鍵和值這樣的雙列數據的集合;List 中存儲的數據是有順序,并且允許重復;Map 中存儲的數據是沒有順序的,其鍵是不能重復的,它的值是可以有重復的,Set 中存儲的數據是無序的,且不允許有重復,但元素在集合中的位置由元素的 hashcode 決定,位置是固定的(Set 集合根據 hashcode 來進行數據的存儲,所以位置是固定的,但是位置不是用戶可以控制的,所以對于用戶來說 set 中的元素還是無序的);
實現類
List 接口有三個實現類 : 1、LinkedList 2、ArrayList 3 、Vector
Map 接口有四個實現類:1、HashMap 2、Hashtable 3、TreeMap 4、LinkedHashMap
Set 接口有兩個實現類:1、HashSet 2、TreeSet
區別
List 集合中對象按照索引位置排序,可以有重復對象,允許按照對象在集合中的索引位置檢索對象,例如通過list.get(i)方法來獲取集合中的元素;Map 中的每一個元素包含一個鍵和一個值,成對出現,鍵對象不可以重復,值對象可以重復;Set 集合中的對象不按照特定的方式排序,并且沒有重復對象,但它的實現類能對集合中的對象按照特定的方式排序,例如 TreeSet 類,可以按照默認順序,也可以通過實現 Java.util.Comparator接口來自定義排序方式。
實現接口不同
Set 和List都實現了Collection 父接口,而map沒有
List三個子類的區別
HashMap 和 HashTable 的區別
HashSet 和 TreeSet的區別
并發集合和普通集合以及同步集合的區別
數組和鏈表的概念區別以及應用場景
Collection 和 Map 的集成體系
總結
以上是生活随笔為你收集整理的List Set Map的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IO流以及他们的种类区别 序列化反序列化
- 下一篇: LinkedList ArrayList