package haxi;
public class TreeSet {
public static void main(String[] args) {
// TODO 自动生成的方法存根
java.util.TreeSet<Integer> a1 = new java.util.TreeSet<>();
a1.add(10);
a1.add(52);
a1.add(61);
a1.add(1);
a1.add(1);
for (Integer integer : a1) {
System.out.println(integer);
/**
* 1 10 52 61
* 没有重复元素,并且按照自然顺序排好
*/
}
}
}
进阶使用
package haxi;
import java.util.TreeSet;
public class TreeSetdemo {
public static void main(String[] args) {
TreeSet<Student1> a1 = new TreeSet<Student1>();
Student1 s1 = new Student1("ayyz", 17);
Student1 s2 = new Student1("byyz", 18);
Student1 s3 = new Student1("cyyz", 15);
Student1 s4 = new Student1("dyyz", 14);
Student1 s5 = new Student1("eyyz", 14);
Student1 s6 = new Student1("eyyz", 14);
a1.add(s1);
a1.add(s2);
a1.add(s3);
a1.add(s4);
a1.add(s5);
a1.add(s6);
for (Student1 student1 : a1) {
System.out.println(student1.getName() + " " + student1.getAge());
}
}
}
class Student1 implements Comparable<Student1> {
String name;
int 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;
}
Student1(String name, int age) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Student1 o) {
// TODO 自动生成的方法存根
// return 0;
int num = this.age - o.age;// return+为升序-为降序以下保证可以传进相同年龄(不同姓名)的元素
int num1 = num == 0 ? this.name.compareTo(o.name) : num;
return num1;
}
}
输出如下年龄相同姓名不同可以存入都相同则不能
年龄排序上面有解释
string因为已经实现了那个接口所以不必另行比较
dyyz 14
eyyz 14
cyyz 15
ayyz 17
byyz 18