package javaapplication83;
import java.util.*;
import java.util.TreeSet;
import java.util.Comparator;
public class JavaApplication83 {
public static void main(String[] args) {
Student s1=new Student("Tom",18);
Student s2=new Student("Jerry",19);
Student s3=new Student("Jack",18);
Student s4=new Student("Rose",17);
Student s5=new Student("Rose",20);
Course c1=new Course("C",48);
Course c2=new Course("JAVA",64);
Course c3=new Course("C++",48);
Course c4=new Course("Python",64);
Teacher t1=new Teacher("老王",38,"通信技术");
Teacher t2=new Teacher("老张",52,"通信技术");
Teacher t3=new Teacher("老李",48,"通信技术");
HashMap map =new HashMap(){
public int compare(Student s1,Student s2){
int num =s1.name.length()-s2.name.length();
int num2=(num==0)?(s1.name.compareTo(s2.name)):num;
int num3 =((num2==0)?(s1.age-s2.age):num2);
return num3;
}
};
map.put(s1,c1);
map.put(s2,c2);
map.put(s3,c3);
map.put(s4,c4);
map.put(s5,c4);
Set ks=map.keySet();
Iterator it =ks.iterator();
while(it.hasNext()){
Object key=it.next();
Object value=map.get(key);
System.out.println(key+"-->"+value);
}
package javaapplication83;
public class Course {
public String name;
public int credit;
public Course(){}
public Course(String name, int credit){
super();
this.credit=credit;
this.name=name;
}
public int compareTo(Object o){
Course c1=(Course)o;
if(this.name.charAt(0)==c1.name.charAt(0)){
return 1;
}
else if(this.name.charAt(0)==c1.name.charAt(0)){
return this.credit-c1.credit;
}
else{
return -1;
}
}
public String toString(){
return this.name+":"+credit+"学分";
}
}
package javaapplication83;
public class Student {
public String name;
public int age;
public Student(){}
public String getName(){
return name;
}
public void setName(){
this.name=name;
}
public int getAge()
{
return age;
}
public void setAge(int age){
this.age=age;
}
public Student(String name, int age){
super();
this.age=age;
this.name=name;
}
public int compare(Object obj){
Student stu=(Student)obj;
if(this.age-stu.age>0){
return 1;
}
if(this.age-stu.age==0){
return this.name.compareTo(stu.name);
}
return -1;
}
public String toString(){
return this.name+":"+age+"岁";
}
}
package javaapplication83;
public class Teacher {
public String name;
public int age;
public String major;
public String getName(){
return name;
}
public void setName(){
this.name=name;
}
public int getAge()
{
return age;
}
public void setAge(int age){
this.age=age;
}
public Teacher(){}
public Teacher(String name, int age,String major){
super();
this.age=age;
this.name=name;
this.major=major;
}
public String toString(){
return this.name+":"+age+":岁"+major;
}
}