首页 > 代码库 > TreeSet
TreeSet
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:有序的(键是有序的)
TreeSet