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