集合框架的初步理解(set)

来源:互联网 发布:windows哪个系统最好 编辑:程序博客网 时间:2024/05/16 09:06
set的老大同样是collection,和list有相同的规范。
set不允许数据重复,不记录数据的顺序
set底层采用的数据结构是hashcode算法,在查询方面有着较好的性能。
set可以储存Null,但是最多只能有一个null。

set的实现类:
HashSet:用来储存无序不重复的数据。因为底层数据结构采用Hashcode算法,每一个相同的对象都有相同的hashcode值,所以不允许数据重复。
                  对于HashSet来说,equals并不能用来判断两个类型的数据是否相等,因为还要通过hashcode值来判断。

TreeSet:TreeSet作为Set的实现类,同样用来储存无序不可重复的数据。但是TreeSet储存的数据会自动排序,如果所添加的对象不能排序则会报错。
                 所以存放的数据要指定排序规则。TreeSet排序分为:自然排序和定制排序以及客户端排序。
                 
TreeSet要添加哪个对象就在哪个对象类上面实现java.lang.Comparable接口,并且重写comparaTo()方法,返回0则表示是同一个对象,否则为不同对象。
0 0