TreeSet使用

TreeSet使用

package com.tiedandan.集合.泛型.set子接口.treeset使用接口;

import java.util.Comparator;
import java.util.TreeSet;

/**
* TreeSet集合的使用
* Comparator:实现定制比较(比较器)
* Comparable:可比较的
*/
public  class TreeSetUse2 {
   public static void main(String[] args) {
       TreeSet<Person> persons = new TreeSet<>(new Comparator<Person>() {
           //自定义比较规则,首字母优先,数字大小其后。
           @Override
           public int compare(Person o1, Person o2) {
            int n1 = o1.getAge()-o2.getAge();
            int n2 = o1.getName().compareTo(o2.getName());
            return  n1 = false?n2:n1;


          }
      });
       Person p1 =new Person("ayz",3);
       Person p2 =new Person("byz",4);
       Person p3 =new Person("cyz",5);
       Person p4 =new Person("cyz",6);
       persons.add(p1);
       persons.add(p2);
       persons.add(p3);
       persons.add(p4);
       System.out.println(persons.toString());

  }
}
package com.tiedandan.集合.泛型.set子接口.treeset使用接口;

public class Person {
   private  String name;
   private  int age;

   public Person() {
  }

   public Person(String name, int age) {
       this.name = name;
       this.age = age;
  }

   public String getName() {
       return name;
  }

   public void setName(String name) {
       this.name = name;
  }

   public int getAge() {
       return age;
  }

   public void setAge(int age) {
       this.age = age;
  }

   @Override
   public String toString() {
       return "Person{" +
               "name='" + name + '\'' +
               ", age=" + age +
               '}';
  }


}

运行结果:

[Person{name='ayz', age=3}, Person{name='byz', age=4}, Person{name='cyz', age=5}, Person{name='cyz', age=6}]

posted on 2021-11-20 17:27  张铁蛋666  阅读(51)  评论(0编辑  收藏  举报

导航