• 使用TreeSet和Comparator,写TreeSetTest2 要求:对TreeSet中的元素1,2,3,4,5,6,7,8,9,10进行排列,排序逻辑为奇数在前偶数在后,奇数按照升序排列,偶数按照降序排列


    /*

     * 使用TreeSet和Comparator,写TreeSetTest2

     *要求:对TreeSet中的元素1,2,3,4,5,6,7,8,9,10进行排列,

     *排序逻辑为奇数在前偶数在后,奇数按照升序排列,偶数按照降序排列

     */

    import java.util.Comparator;

    import java.util.TreeSet;

    public class TreeTest2 {

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    TreeSet<Integer> treeSet = new TreeSet<>(new SetComparator());

    //treeSet.add(-1);

    treeSet.add(1);

    treeSet.add(2);

    treeSet.add(3);

    treeSet.add(4);

    treeSet.add(5);

    treeSet.add(6);

    treeSet.add(7);

    treeSet.add(8);

    treeSet.add(9);

    treeSet.add(10);

    System.out.println(treeSet);

    for (Integer integer : treeSet) {

    System.out.print(integer+" ");

    }

    }

    }

    class SetComparator implements Comparator<Integer>{

    @Override

    public int compare(Integer o1, Integer o2) {

    // TODO Auto-generated method stub

    if(o1%2==1&&o2%2==0) {

    return -1;

    }

    if(o1%2==0&&o2%2==1) {

    return 1;

    }

    if (o1%2==1&&o2%2==1) {

    return o1-o2;

    }

    if (o1%2==0&&o2%2==0) {

    return o2-o1;

    }

    return 0;

    }

    }

    /* * 使用TreeSet和Comparator,写TreeSetTest2 *要求:对TreeSet中的元素1,2,3,4,5,6,7,8,9,10进行排列, *排序逻辑为奇数在前偶数在后,奇数按照升序排列,偶数按照降序排列 */import java.util.Comparator;import java.util.TreeSet;
    public class TreeTest2 {
    public static void main(String[] args) {// TODO Auto-generated method stubTreeSet<Integer> treeSet = new TreeSet<>(new SetComparator());//treeSet.add(-1);treeSet.add(1);treeSet.add(2);treeSet.add(3);treeSet.add(4);treeSet.add(5);treeSet.add(6);treeSet.add(7);treeSet.add(8);treeSet.add(9);treeSet.add(10);System.out.println(treeSet);for (Integer integer : treeSet) {System.out.print(integer+" ");}}
    }class SetComparator implements Comparator<Integer>{
    @Overridepublic int compare(Integer o1, Integer o2) {// TODO Auto-generated method stubif(o1%2==1&&o2%2==0) {return -1;}if(o1%2==0&&o2%2==1) {return 1;}if (o1%2==1&&o2%2==1) {return o1-o2;}if (o1%2==0&&o2%2==0) {return o2-o1;}return 0;}}

  • 相关阅读:
    python--向钉钉群发送消息(亲测可用)
    python--注册钉钉回调事件(亲测可用)
    Gradle
    SpringBoot 中thymeleaf模板引擎的使用
    SpringBoot对静态资源的映射规则
    SpringBoot的日志使用
    rsync实现文件同步
    python学习: 优秀Python学习资源收集汇总--转
    Python高级特性: 12步轻松搞定Python装饰器
    Python常见问题
  • 原文地址:https://www.cnblogs.com/xinchen01/p/10974682.html
Copyright © 2020-2023  润新知