城管希课堂之Set集合

Set集合

特点:无序(没有下标) 不重复

HashSet:去重的功能

TreeSet:排序的功能

利用Set集合将别的集合进行刷锅 排序

//利用set集合a , b, c, d 去除ArrayList集合中的重复元素(操作原ArrayList)ArrayList a= new ArrayList<>();a.add("a");a.add("a");a.add("b");a.add("b");a.add("c");a.add("c");a.add("d");a.add("d");LinkedHashSet Set = new LinkedHashSet<>();//把所有元素放入Set中Set.addAll(a);//清空list集合a.clear();//把所有元素 放回去 刷锅a.addAll(Set);System.out.println(a);


注意: 打印对象不会自动去重 需要重写equals和hashcode方法

去重类的对象时不用重写


只要创建对象 就会给每个对象 分配一个HashCode码

当添加到集合中的对象 hashCode不同时

没有调用equals方法 并且对象直接存到Set方法中

当hashCode码相同的时候会调用equals方法

来查看是否是同一个对象 是 就存不进去 反之 存进去


TreeSet 二叉树

存储规则

比我小的数 放在我的左边(返回负数的情况下);

比我大的数 放在我的右边(返回正数的情况下);

返回0就不存储

输出规则 以升序输出打印


TreeSet在存储的时候 

只跟CompareTo 方法的返回值有关


TreeSet排序顺序

1.实现Comparable 接口

2.重写接口中 compareTo()方法

3.编写你想要的排序规则


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部