Java的set 之 HashSet与TreeSet

set

特点: 无序无重复

无序:添加的顺序,获取的顺序不一致(不是集合本身是否有序,Tree自然有序)

无重复:添加的元素不能医治(如果出现重复元素,只存入第一个,后面重复的不再存入)

HashSet(HashMap --> 数据存储结构 散列表)

TreeSet(TreeMap--->数据存储结构:(红黑)二叉树)

set集合家族的基本使用:

增删改查:add(E e) remove(E e) 没有修改 iterator<>迭代器 也可以用增强for循环

                                                                         hasNext(); 是否有下一个元素  next();获取元素

set集合的无重复特性:

    hashSet 无重复原则有两个方法同时起作用:equals hashCode 默认都是继承Object ,都是比较地址

                    默认比较的是两个对象的地址,若第二个对象的地址与之前的一致,则不再存入

                    如果想要改变其比较的规则, 可以重写上述两个方法

   TreeSet   无重复原则有一个方法起作用

                    compareTo 

                    上述这个方法不是每一个对象都有的

                    如果想要将某个对象存入TreeSet集合中 需要让对象所属的累实现Comparable接口,

                    实现接口后将compareTo方法重写 返回值是int类型 负数靠前排  正数靠后排

你可能感兴趣的:(java)