1.TreeSet集合是Set集合中的实现类,底层是二叉树,所以存的数据是不可以重复。可还可以进行排序默认的会对咱们的数据进行排序
2.存储对象时,需要实现Comparabel这个接口。就为了比较排序的
然后在类中重写compareTo(T o)方法
package com.qfedu.b_;
import java.util.Set;
import java.util.TreeSet;
class People implements Comparable <People>{
private int id;
private int age;
private String name;
public People(int id, int age, String name) {
this.id = id;
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "People{" +
"id=" + id +
", age=" + age +
", name='" + name + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int compareTo(People o) {
/**
* 此时是按id大小排序,从小到大排
*/
int num1 = this.id - o.id;
/**
* 当id相等时,此时是按照age排的
*/
if (num1 == 0){
int num2 = this.age - o.age;
return num2;
}
return num1;
}
}
public class Demo_24 {
public static void main(String[] args) {
/**
* 实例化TreeSet集合
*/
Set<People> set = new TreeSet<>();
/**
* 实例化几个People对象
*/
People people1 = new People(1,20,"甘雨");
People people2 = new People(3,25,"胡桃");
People people3 = new People(2,18,"雷电将军");
People people4 = new People(3,30,"枫原万叶");
People people5 = new People(2,26,"纳西妲");
/**
* 把对象存入集合
*/
set.add(people1);
set.add(people2);
set.add(people3);
set.add(people4);
set.add(people5);
System.out.println(set);
for (People people : set) {
System.out.println(people);
}
}
}
版权声明:本文为qq_45747733原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。