treeset如何排序 javaset集合的值可以排序吗?
javaset集合的值可以排序吗?
Set集合的排序我们知道,Set集合是无序的,可以使用TreeSet类,那么TreeSet进行排序的规则是怎样的呢?1TreeSet支持两种排序方式,自然排序和定制排序,在默认情况下,TreeSet采用自然排序.自然排序:TreeSet会调用集合元素的compareTo(Objectobj)方法来比较元素之间的大小关系,然后将集合的元素按升序排列,这种方式就是自然排序.为什么集合元素有compareTo方法,因为集合元素对象实现了Comparable接口,该方法返回一个整数值,当一个对象调用该方法与另一个对象进行比较,例如:obj1.compareTo(obj2)如果返回0,表示这两个对象相等,如果该方法返回一个正整数,表示obj1大于obj2如果该方法返回一个负整数,表示obj1小于obj2所以需要使用TreeSet集合进行自然排序,元素必须实现Comparable接口,但是Java一些常用的类已经实现了该接口,例如:StringCharacterBooleanDateTimeBigDecimalBigInteger等如:TreeSet<String>ts=newTreeSet<String>()ts.add("b")ts.add("c")ts.add("a")System.out.println(ts)结果:abc
treeset如何排序 重写compareto方法 java等待所有线程执行完毕
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。