一、无参构造方法
public class Student implements Comparable<Student>
private String name;
private int age;
public Student() {
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
//实现接口要重写抽象方法
@Override
public int compareTo(Student o) {
return -1;
}
1.无参构造方法可写可不写,如果不写的话jvm会自动调用 |
import java.util.Set;
import java.util.TreeSet;
public class TreeSetTest {
public static void main(String[] args) {
//1.准备一个Set类型的引用指向TreeSet类型的变量
Set<Student> s2 = new TreeSet<>();
//2.将集合打印出来
Student st = new Student();
Student st1 = new Student();
Student st2 = new Student();
st.setAge(20);
st.setName("小红");
s2.add(st);
st1.setAge(26);
st1.setName("小航");
s2.add(st1);
st2.setAge(30);
st2.setName("小明");
s2.add(st2);
System.out.println("s2 =" +s2);
}
}
1.使用无参构造方法时,需要先new一个对象: Student st = new Student(); 然后通过set()方法进行实例化。 |
二、有参构造方法
public class Student implements Comparable<Student>{
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public int compareTo(Student o) {
return 0;
}
}
使用有参构造方法时,可以不用写set()方法,并且在new对象的同时进行传参,完成实例化。 |
import java.util.Set;
import java.util.TreeSet;
public class TreeSetTest {
public static void main(String[] args) {
//1.准备一个Set类型的引用指向TreeSet类型的变量
Set<Student> s2 = new TreeSet<>();
//2.对Student进行实例化,并将元素(实例化的对象)添加到TreeSet集合中
s2.add(new Student("小明",18));
s2.add(new Student("小红",20));
s2.add(new Student("小航",26));*/
System.out.println("s2 =" +s2);
}
}
1.与无参构造方法相比,首先不用先new一个对象,然后在进行实例化,而是在添加到集合时进行实例化。 |