精华内容
下载资源
问答
  • TreeSet的自然排序是根据元素的大小进行升序排序的,若想自己定制排序,比如降序排序,就可以使用Comparator接口了:该接口包含int compare(Object o1,Object o2)方法,用于比较两个对象的大小,比较结果和compareTo方法...

    TreeSet的自然排序是根据元素的大小进行升序排序的,若想自己定制排序,比如降序排序,就可以使用Comparator接口了:

    该接口包含int compare(Object o1,Object o2)方法,用于比较两个对象的大小,比较结果和compareTo方法一致;

    要实现定制排序,需要在创建TreeSet集合对象时,提供一个一个Comparator对象,该对象里负责集合元素的排序逻辑;

    TreeSet(Comparator comparator)

    Eg:

    package july7;

    //定制排序的话,必须在创建TreeSet集合对象的时候提供一个Comparator方法

    import java.util.Comparator;

    import java.util.Set;

    import java.util.TreeSet;

    class Student1{

    private Integer age;

    public Student1(Integer age) {

    super();

    this.age = age;

    }

    public Integer getAge() {

    return age;

    }

    public void setAge(Integer age) {

    this.age = age;

    }

    @Override

    public String toString() {

    return age + "";

    }

    }

    class MyComparator implements Comparator{

    @Override

    public int compare(Object o1, Object o2) {

    if(o1 instanceof Student1 & o2 instanceof Student1){

    Student1 s1 = (Student1)o1;

    Student1 s2 = (Student1)o2;

    if(s1.getAge() > s2.getAge()){

    return -1;

    }else if(s1.getAge() < s2.getAge()){

    return 1;

    }

    }

    return 0;

    }

    }

    public class Demo15 {

    public static void main(String[] args) {

    Set s = newTreeSet(newMyComparator());

    /**

    * 要实现定制排序,需要在创建TreeSet集合对象时,提供一个一个Comparator对象,

    * 该对象里负责集合元素的排序逻辑;

    */

    s.add(new Student1(140));

    s.add(new Student1(15));

    s.add(new Student1(11));

    s.add(new Student1(63));

    s.add(new Student1(96));

    System.out.println(s);

    }

    }

    展开全文
  • 给定Java中的TreeSet,任务是按降序(递减顺序)对TreeSet的元素进行排序。示例:输入: Set: [2, 3, 5, 7, 10, 20]输出: Set: [20, 10, 7, 5, 3, 2]输入: Set: [computer, for, geeks, hello]输出: Set: [hello, geeks...

    给定Java中的TreeSet,任务是按降序(递减顺序)对TreeSet的元素进行排序。

    示例:输入: Set: [2, 3, 5, 7, 10, 20]输出: Set: [20, 10, 7, 5, 3, 2]输入: Set: [computer, for, geeks, hello]输出: Set: [hello, geeks, for, computer]

    方法:

    要按顺序生成TreeSet元素,只需使用descendingSet()方法,该方法用于以相反的顺序更改TreeSet的顺序

    以下是上述方法的实现:import java.util.TreeSet; public class TreeSetDescending { public static void main(String[] args) { // 声明一个treeset TreeSet ints = new TreeSet(); ints.add(2); ints.add(20); ints.add(10); ints.add(5); ints.add(7); ints.add(3); TreeSet intsReverse = (TreeSet)ints.descendingSet(); // Print the set System.out.println("Without descendingSet(): " + ints); System.out.println("With descendingSet(): " + intsReverse); } }

    输出:Without descendingSet(): [computer, for, geeks, hello]With descendingSet(): [hello, geeks, for, computer]

    相关推荐:《Java教程》

    本篇文章就是关于在Java中按降序对TreeSet进行排序的方法介绍,希望对需要的朋友有所帮助!

    展开全文
  • 详细内容给定Java中的TreeSet,任务是按降序(递减顺序)对TreeSet的元素进行排序。示例:输入: Set: [2, 3, 5, 7, 10, 20]输出: Set: [20, 10, 7, 5, 3, 2]输入: Set: [computer, for, geeks, hello]输出: Set: ...

    详细内容

    给定Java中的TreeSet,任务是按降序(递减顺序)对TreeSet的元素进行排序。

    示例:输入: Set: [2, 3, 5, 7, 10, 20]

    输出: Set: [20, 10, 7, 5, 3, 2]

    输入: Set: [computer, for, geeks, hello]

    输出: Set: [hello, geeks, for, computer]

    方法:

    要按顺序生成TreeSet元素,只需使用descendingSet()方法,该方法用于以相反的顺序更改TreeSet的顺序

    以下是上述方法的实现:import java.util.TreeSet;

    public class TreeSetDescending {

    public static void main(String[] args)

    {

    // 声明一个treeset

    TreeSet ints = new TreeSet();

    ints.add(2);

    ints.add(20);

    ints.add(10);

    ints.add(5);

    ints.add(7);

    ints.add(3);

    TreeSet intsReverse = (TreeSet)ints.descendingSet();

    // Print the set

    System.out.println("Without descendingSet(): " + ints);

    System.out.println("With descendingSet(): " + intsReverse);

    }

    }

    输出:Without descendingSet(): [computer, for, geeks, hello]

    With descendingSet(): [hello, geeks, for, computer]

    相关推荐:《Java教程》

    本篇文章就是关于在Java中按降序对TreeSet进行排序的方法介绍,希望对需要的朋友有所帮助!

    展开全文
  • 在Java中按降序TreeSet进行排序方法发布时间:2020-08-21 11:54:44来源:亿速云阅读:166作者:小新这篇文章主要介绍在Java中按降序TreeSet进行排序方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的...

    在Java中按降序对TreeSet进行排序的方法

    发布时间:2020-08-21 11:54:44

    来源:亿速云

    阅读:166

    作者:小新

    这篇文章主要介绍在Java中按降序对TreeSet进行排序的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    给定Java中的TreeSet,任务是按降序(递减顺序)对TreeSet的元素进行排序。

    示例:输入: Set: [2, 3, 5, 7, 10, 20]

    输出: Set: [20, 10, 7, 5, 3, 2]

    输入: Set: [computer, for, geeks, hello]

    输出: Set: [hello, geeks, for, computer]

    方法:

    要按顺序生成TreeSet元素,只需使用descendingSet()方法,该方法用于以相反的顺序更改TreeSet的顺序

    以下是上述方法的实现:import java.util.TreeSet;

    public class TreeSetDescending {

    public static void main(String[] args)

    {

    // 声明一个treeset

    TreeSet ints = new TreeSet();

    ints.add(2);

    ints.add(20);

    ints.add(10);

    ints.add(5);

    ints.add(7);

    ints.add(3);

    TreeSet intsReverse = (TreeSet)ints.descendingSet();

    // Print the set

    System.out.println("Without descendingSet(): " + ints);

    System.out.println("With descendingSet(): " + intsReverse);

    }

    }

    输出:Without descendingSet(): [computer, for, geeks, hello]

    With descendingSet(): [hello, geeks, for, computer]

    以上是在Java中按降序对TreeSet进行排序的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

    展开全文
  • java.util.TreeSet类的descendingSet()方法用于返回此集合中包含的元素的逆序视图。降序集由该集支持,因此对该集的更改会反映在降序集中,反之亦然。如果在进行任何一个集合的迭代时修改了任何一个集合(通过迭代器...
  • TreeSet的自然排序是根据元素的大小进行升序排序的,若想自己定制排序,比如降序排序,就可以使用Comparator接口了: 该接口包含int compare(Object o1,Object o2)方法,用于比较两个对象的大小,比较结果和compareTo方法...
  • 每添加一个对象,都会调用hashcode方法 TreeSet 排好序的, 并且 不允许重复 set 无序并且不允许重复 tree底层利用的是红黑树 排序: 自定义的类 ...TreeSet 可以排序的, 泛型是自定义类的话 必须实现排序接口
  • 值得注意的是,当我们像这样给对象排序的时候,需要实现Comparable接口,复写compareTo方法。这也很好理解,不然人家根据什么规则来排序呢? 上述两种升序,反过来是降序。有多个类,要用到同样的排序规则...
  • 如果需要实现定制排序,例如降序,则可以使用Comparator接口。该接口里包含一个int compare(T o1, T o2)方法,该方法用于比较o1和o2的大小。如果需要实现定制排序,则需要在创建TreeSet集合对象时,并提供一个...
  • Set集合之TreeSet排序详解

    千次阅读 2019-05-09 10:45:23
    这时,我们可能会有很多解决办法,比如说:for循环,把每一个数字都与当前数字进行比较,根据需要看是升序还是降序排列,再交换两个数字的位置,这种方法叫选择排序. 其实在Set中有一个它的子类:TreeSet,它可以实现集合的...
  • 排序问题,升序和降序

    千次阅读 2016-08-01 12:41:07
    如果需要实现定制排序,例如降序,则可以使用Comparator接口。该接口里包含一个int compare(T o1, T o2)方法,该方法用于比较o1和o2的大小。  如果需要实现定制排序,则需要在创建TreeSet集合对象时,并提供一个...
  • 能用HashSet尽量别用TreeSet Hash又称散列 Hash具有的方法: 自带去重的方法 ...TreeSet方法排序 天花板ceiling()的运用 地板floor()的使用 tailSet()方法 使用实例: 降序descendingSet()
  • 01 HashSet HashSet的底层数据结构是哈希表,特点:集合中的元素无序且唯一。...TreeSet的底层数据结构是红黑树,特点:唯一且有序, TreeSet集合会自动对元素进行排序,默认是升序排序。 如果你想降序或者按
  • 但是如果需要实现定制排序,比如实现降序排序,则要通过比较器排序(定制排序)实现。 比较器排序是通过Comparator接口帮助的,这个接口包含一个方法int compare(T o1, T o2)方法,该方法用于比较o1和o2的大小:...
  • TreeSet有序且唯一集合

    2019-11-25 22:01:45
    如果需要实现定制排序,例如降序排序,则可通过Comparator接口的帮助。该接口里包含一个int compare(T o1,T o2)方法,用于比较o1和o2的大小。由于Comparator是一个函数式接口,因此还可以使用Lambda表达式来代替...
  • TreeSet类和TreeMap类有序且元素唯一,Integer和String等都有有默认排序方式,即键值... 有时候需根据Integer或String等JDK已重写过compareTo()的变量来排序,例如降序排列,直接重写覆盖Integer中的compareTo()方法
  • 实现自定义的排序常用有两种方法一、实体类 实现java.lang.Comparable接口且重写compareTo()方法二、业务排序类 实现java.util.Compartor接口且重写compare()方法第一种方法举例: 实体类为学生类 属性有学分,学号...
  • 在长度相等的情况下,按字典降序排序。 例如,有单词序列“apple banana grape orange”,排序后输出结果应为“orange banana grape apple”。 方法一 package 字典排序comparable接口重写compareTo; import java....
  • 重写compare方法,自定义排序

    千次阅读 2018-08-04 11:06:14
    TreeSet集合中加入5个员工的对象,根据员工的年龄(升序)进行排序,若年龄相同,再根据工龄(降序)来排序,若工龄相同,根据薪水(降序排序。 /** * 向TreeSet集合中加入5个员工的对象,根据员工的年龄...
  • Treeset集合使用

    2019-07-04 22:49:35
    Treeset集合可以通过compare接口或者比较器Comparator的方法来实现去重以及排序 规则: return 0去重 return 1 升序 return <0 降序 例如: 将集合中的人进行降序排列,并去掉重复的人信息 这道题可以采用三种...
  • HashSet、LinkedHashSet和TreeSet

    千次阅读 2012-04-16 19:17:28
    TreeSet采用红黑树的数据结构进行排序元素,使用它可以从Set中提取有序(升序或者降序)的序列。需要注意的是,存入自定义类时,TreeSet需要维护元素的存储顺序,因此自定义类要实现Comparable接口并定义compareTo...
  • 合并两个输入的字符串按降序输出

    千次阅读 2016-10-07 09:53:35
    但是TressSet默认是升序排列,所以这里需要定制排序TreeSet的一个构造方法需要comparator接口,所以可以用Lambda表达式替代。此时可以算基本完成任务了,但是这里多做一点,将排序好的字符放进一个字符串中。集合...
  • 1.先实现Comparator的接口 重写compare方法 根据比较大小来返回数值: 比如:(Integer o1 - Integer o2);...因此可以根据这个返回值来设定TreeSet里面的元素升序或者降序排列 ,下面演示的是实现接口并重写的方式来定...
  • TreeSet采用红黑树的数据结构进行排序元素,使用它可以从Set中提取有序(升序或者降序)的序列。需要注意的是,存入自定义类时,TreeSet需要维护元素的存储顺序,因此自定义类要实现Comparable接口并定义com...
  • 2.必须在元素所属类中重写comparTo方法,其返回值决定自然排序的是升序还是降序,当返回值为1时降序,为-1时升序 3.若不实现comparable接口,则无法实现自然排序,会抛出异常 测试样例 public static void main...
  • 将要排序的元素,放入数据结构中,如TreeSet,建立比较器,按照要求建立比较规则,将每条数据放入TreeSet,根据比较器规则自动排序,再输出即可 缺点 数据结构的存储有限,根据计算能够算出大约数据结构需要存储的...
  • 我们来实现用Collection的静态方法sort()的讲解,其中,只需要将实现Collection的集合(LinkedList,ArrayList,HashSet,TreeSet)等直接写入sort()方法中就可以自动按照升序排序,那么如果想要降序怎么办,或者有是有...
  • 另外,对于TreeSet以同样的lambda表达式定义排序规则: class M{ int age; 构造函数; toString()方法; } main(){ TreeSet st=new TreeSet((o1,o2)->{M m1=(M)o1;M m2=(M)o2; return m1.age>m2.age?-1:m1.age...

空空如也

空空如也

1 2 3 4
收藏数 61
精华内容 24
关键字:

treeset降序排序方法