TreeSet:二叉樹
有序,存自定義對象時的排序問題
cannot be cast to java.lang.Comparable
Comparable=可比較的
a.Source
b.Alt+Shift+S 可以調出重寫方法的菜單
c.跟錯誤提示走
方法一:傳入的對象所屬的類,必須實現Comparable
方法二:初始化TreeSet時,傳入一個比較器(比較器是一個實現了Comparator的類的對象)作爲一個構造參數。
========================================================================================================
Collection 接口 和 Map接口 集合框架的兩個老祖先
Collection(接口) Map(接口) <和Set很像>
/ \ / | \
/ \ / | \
/ \ / | \
List(接口、有索引) Set(接口、無索引) HashMap,TreeMap,HashTable
/ \ (實現類)
/ \
/(實現類) (實現類) \
ArrayList,LinkedList,Vector HashSet,TreeSet
其中Collection 是單列集合,Map是雙列集合
key-value 鍵值對
鍵不可以重複,value可以重複
Map
HashMap
TreeMap
HashTable
HashTable:底層存儲結構是哈希表,鍵和值都不可以是null。已過時。
HashMap: 底層是哈希表,鍵值都可以是null。
TreeMap: 底層是二叉樹,支持鍵排序。
keyset,valueset,entryset(Map.Entry)
讀取方式
1.獲得所有鍵的集合keyset
2.獲得所有值的集合valueset
3.獲得所有條目entryset
entry=一行,一個條目(包含鍵和值)
TreeMap:有序的(鍵是有序的)