TreeMap练习:对学生对象的姓名进行升序排序

来源:互联网 发布:java io 装饰器模式 编辑:程序博客网 时间:2024/04/25 21:49

package map;

import java.util.*;
public class MapDemo4 {

 /**
  * @TreeMap练习
  *
  * 对学生对象的姓名进行升序排序
  *
  * 因为数据是以键值对形式存在的。
  * 所以要使用可以排序的Map集合。TreeMap。
  *
  *
  */
 public static void main(String[] args) {
  TreeMap<Student,String> tm = new TreeMap<Student,String>(new StuNameComparator());
  
  tm.put(new Student("blisi3",23),"nanjing");
  tm.put(new Student("lisi1",21),"beijing");
  tm.put(new Student("lisi1",21),"tianjing");
  tm.put(new Student("alisi4",24),"wuhan");
  tm.put(new Student("lisi2",22),"shanghai");
  
  Set<Map.Entry<Student, String>> entrySet = tm.entrySet();
  
  Iterator<Map.Entry<Student, String>> it = entrySet.iterator();
  
  while(it.hasNext()){
   Map.Entry<Student, String> me = it.next();
   
   Student stu = me.getKey();
   String addr = me.getValue();
   System.out.println(stu+"..."+addr);
  }
  
  

 }

}

class StuNameComparator implements Comparator<Student>{
 public int compare(Student s1,Student s2){
  int num = s1.getName().compareTo(s2.getName());
  if(num==0)
   return new Integer(s1.getAge()).compareTo(new Integer(s2.getAge()));
  return num;
  
 }
}

0 0