TreeSet
/**作者:呆萌老师*☑csdn认证讲师*☑高级讲师*☑腾讯课堂认证讲师*☑网易云课堂认证讲师*☑华为开发者学堂认证讲师*☑爱奇艺千人名师计划成员*在这里给大家分享技术、知识和生活*各种干货,记得关注哦!*/
1、简介
TreeSet类扩展了 AbstractSet和implements NavigableSet接口。它与 HashSet 类非常相似,不同之处在于它按排序顺序存储元素。其底层实现为红黑树。
2、结构
3、特性
它扩展AbstractSet了扩展类的AbstractCollection类。
它实现NavigableSet了扩展接口的SortedSet接口。
不允许重复值。
不允许null值。
有序集合。
不允许插入异构对象。
非线程安全。
4、案例
//自动排序 TreeSet treeSet=new TreeSet(); treeSet.add(20); treeSet.add(18); treeSet.add(17); treeSet.add(21); System.out.println(treeSet); TreeSet treeSet2=new TreeSet(); treeSet2.add("a"); treeSet2.add("c"); treeSet2.add("b"); treeSet2.add("ab"); System.out.println(treeSet2);
TreeSet treeSet=new TreeSet(); //按照年龄排序(自定义排序的规则) treeSet.add(new Person("aa", 20)); treeSet.add(new Person("bb", 18)); treeSet.add(new Person("cc", 17)); treeSet.add(new Person("dd", 21)); System.out.println(treeSet);
new TreeSet(); treeSet.add(20); treeSet.add(18); treeSet.add(30); treeSet.add(25); System.out.println(treeSet); System.out.println(treeSet.first()); //返回第一个(最小) System.out.println(treeSet.last()); //返回最后一个(最大); System.out.println(treeSet.floor(24));// <=指定元素的最大的元素 System.out.println(treeSet.lower(25)); // <指定元素的最大的元素 System.out.println(treeSet.ceiling(25));// >=指定元素的最小的元素 System.out.println(treeSet.higher(18)); // >指定元素的最小的元素 System.out.println(treeSet.pollFirst()); //获得第一个元素 并且将其从集合中删除 System.out.println(treeSet); System.out.println(treeSet.pollLast()); //获得最后一个元素 并且将其从集合中删除 treeSet.add(21); treeSet.add(24); System.out.println(treeSet); //返回的是>=20&& <24的所有集合元素 SortedSet set= treeSet.subSet(20, 24); for(Integer integer:set) System.out.println(integer); //返回的是>=21的所有集合元素 SortedSet set2= treeSet.tailSet(21); for(Integer integer:set2) System.out.println(integer); System.out.println(treeSet);
更多关注
https://edu./course/20124.html
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~