package com.mxl.xiaoming;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
class Week{
private String week;
private int integer;
//无参构造函数
public Week(){
super();
}
public Week(String week,int integer){
super();
this.week = week;
this.integer = integer;
}
public String getWeek(){
return week;
}
public void setWeek(String week){
this.week = week;
}
public int getInteger(){
return integer;
}
public void setInteger(int integer){
this.integer = integer;
}
}
class WeekComparator implements Comparator<Week>{
/*
* 对Week类进行排序,按照integer进行排序。
* 升序排列 :如果 w1小于w2,返回一个负数;如果w1大于w2,返回一个正数;如果相等,则返回 0;
* 降序排列 :如果 w1小于w2,返回一个正数;如果w1大于w2,返回一个负数;如果相等,则返回 0;
* @see
*/
@Override //覆写Comparator接口中的,compare()方法。
public int compare(Week w1,Week w2){
if(w1.getInteger()>w2.getInteger()){
return 1;
}else if(w1.getInteger()<w2.getInteger()){
return -1;
}else{
return 0;
}
}
}
public class Exercise{
public static void main(String[] args) throws Exception{
List<Week> weeks = new ArrayList<Week>(); //创建List集合对象 weeks
weeks.add(new Week("星期二",2));
weeks.add(new Week("星期五",5));
weeks.add(new Week("星期四",4));
weeks.add(new Week("星期一",1));
weeks.add(new Week("星期六",6));
weeks.add(new Week("星期日",7));
weeks.add(new Week("星期三",3));
WeekComparator wc = new WeekComparator();
Collections.sort(weeks,wc); //集合weeks按照 对象wc中的方式进行排序。
Iterator<Week> itr = weeks.iterator();
while(itr.hasNext()){
Week wk = (Week) itr.next();
System.out.println(wk.getWeek()+"----> "+wk.getInteger());
}
}
}
运行结果: