-
1 # 曉曉的丹
-
2 # 小紅的甜心
Java中的集合包括三大類,它們是Set、List和Map,它們都處於java.util包中,Set、List和Map都是介面,它們有各自的實現類。Set的實現類主要有HashSet和TreeSet,List的實現類主要有ArrayList,Map的實現類主要有HashMap和TreeMap。
Set中的物件不按特定方式排序,並且沒有重複物件。但它的有些實現類能對集合中的物件按特定方式排序,例如TreeSet類,它可以按照預設排序,也可以透過實現java.util.Comparator<Type>介面來自定義排序方式。
List中的物件按照索引位置排序,可以有重複物件,允許按照物件在集合中的索引位置檢索物件,如透過list.get(i)方式來獲得List集合中的元素。
Map中的每一個元素包含一個鍵物件和值物件,它們成對出現。鍵物件不能重複,值物件可以重複。
-
3 # 太空三少
Java常見的資料結構有Collection和Map,其中Collection介面下包括List和Set介面,其下又有多個實現類如List下有ArrayList、LinkedList和Vector等實現類,Set下有HashSet、LinkedSet等實現類和SortedSet介面,HashSet下有LinkedHashSet子類,SortedSet介面下有TreeSet實現類。Map介面下有HashMap(有LinkedHashMap子類)、HashTable(有Properties子類)實現類和SortedMap介面(有TreeMap實現類)。
JAVA的資料結構主要有List、Set、Map、ArrayList、HashSet、HashMap、Properties等。
Map與Set的本質區別有:Set不能包含重複的元素,最多有一個空值,繼承自Collection介面,底層是Map實現機制。Map不能包含重複的鍵,每個鍵最多對應一個對映的值,不能有空值鍵。兩介面提供的方法不完全一樣。析:Java常見的資料結構有Collection和Map,其中Collection介面下包括List和Set介面,其下又有多個實現類如List下有ArrayList、LinkedList和Vector等實現類,Set下有HashSet、LinkedSet等實現類和SortedSet介面,HashSet下有LinkedHashSet子類,SortedSet介面下有TreeSet實現類。Map介面下有HashMap(有LinkedHashMap子類)、HashTable(有Properties子類)實現類和SortedMap介面(有TreeMap實現類)。
JAVA的資料結構主要有List、Set、Map、ArrayList、HashSet、HashMap、Properties等。
Map與Set的本質區別有:Set不能包含重複的元素,最多有一個空值,繼承自Collection介面,底層是Map實現機制。Map不能包含重複的鍵,每個鍵最多對應一個對映的值,不能有空值鍵。兩介面提供的方法不完全一樣。
回覆列表
Java中的集合包括三大類,它們是Set、List和Map。它們都處於
java.util
包中,Set、List和Map都是介面。Set中的物件不按特定方式排序,並且沒有重複物件。但它的有些實現類能對集合中的物件按特定方式排序,例如TreeSet類,它可以按照預設排序,也可以透過實現java.util.Comparator
介面來自定義排序方式。List中的物件按照索引位置排序,可以有重複物件,允許按照物件在集合中的索引位置檢索物件,如透過list.get(i)方式來獲得List集合中的元素。Map中的每一個元素包含一個鍵物件和值物件,它們成對出現。鍵物件不能重複,值物件可以重複。Map的功能方法 : 方法put(Object key, Object value)新增一個“值”(想要得東西)和與“值”相關聯的“鍵”(key)(使用它來查詢)。方法get(Object key)返回與給定“鍵”相關聯的“值”。可以用containsKey()和containsValue()測試Map中是否包含某個“鍵”或“值”。標準的Java類庫中包含了幾種不同的Map:HashMap, TreeMap, LinkedHashMap, WeakHashMap, IdentityHashMap。它們都有同樣的基本介面Map,但是行為、效率、排序策略、儲存物件的生命週期和判定“鍵”等價的策略等各不相同。執行效率是Map的一個大問題。看看get()要做哪些事,就會明白為什麼在ArrayList中搜索“鍵”是相當慢的。而這正是HashMap提高速度的地方。HashMap使用了特殊的值,稱為“雜湊碼”(hash code),來取代對鍵的緩慢搜尋。“雜湊碼”是“相對唯一”用以代表物件的int值,它是透過將該物件的某些資訊進行轉換而生成的。所有Java物件都能產生雜湊碼,因為hashCode()是定義在基類Object中的方法。