//创建一个学生类
public class Student implements Comparable<Student>{
private String name;
private int age;
//有参无参的构造
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
//提供setXxx() getXxx()方法
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;
}
//按年龄从小到大进行排序
public int compareTo(Student s) {
int num1 = this.age-s.age;
int num2 = num1==0?this.name.compareTo(s.name):num1;
return num2;
}
//重写ToString方法
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
package com.treemap;
import java.util.Set;
import java.util.TreeMap;
//TreeMap<Student,String>存储的元素按照年龄进行排序
public class TreeMapTest {
public static void main(String[] args) {
//创建TreeMap集合
TreeMap<Student,String> tm = new TreeMap<Student,String>();
//创建学生对象
Student s1 = new Student("张三",19);
Student s2 = new Student("李四",18);
Student s3 = new Student("王五",20);
Student s4 = new Student("麻六",21);
//往集合中添加元素
tm.put(s1, "理学院");
tm.put(s2, "计算机学院");
tm.put(s3, "自动化学院");
tm.put(s4, "通信与信息工程学院");
//遍历集合
Set<Student> key = tm.keySet();
for (Student k : key) {
System.out.println(k.getName()+"--"+k.getAge()+"--"+tm.get(k));
}
}
}