TreeSet集合的基本学习
-
Set集合:
是一个无序的集合,不允许出现重复元素的集合
没有角标的集合- 无序:
Set集合无序指的是跟放入的顺序无关 - 不允许重复:
每一Set子类都会有自己的元素查重规则 - 没有角标:
因为Set和List不一样,List是数组结构集合
- 无序:
-
TreeSet(排序的子类)
- 无序:体现在跟放入的顺序无关,但是结果是有序的(由小到大)
- 排序规则是比较器接口
- 没有角标
注意点:
如果TreeSet集合中放入的元素是引用数据类型(除了8种包装类)那么该引用数据类型必须实现比较器接口,自定义比较规则。
实例:
- 文件结构:
Dog.java 文件系统自己的类不可以继承别的类也不能修改
Person.java 文件我们自己的类可以继承别的类也可以修改
MyCompare.java 文件我们自己写的比较器
Demo.java 文件主函数
Dog.java
public class Dog {
//假如这是一个系统内部类不可以修改和继承
public String name;
public int age;
public Dog() {
}
public Dog(String name, int age) {
super();
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 "Dog{" +
"name=" + name +
", age=" + age +
'}';
}
}
Person.java
public class Person implements Comparable<Person> {
//假如这是一个自己写的类,可以继承和修改
public String name;
public int age;
public Person(String name,