题目描述
有一些日期,日期格式为“MM/DD/YYYY”。编程将其按日期大小排列。
样例输入
11/12/1999
10/21/2003
10/22/2003
02/12/2004
11/30/2005
12/31/2005
样例输出
11/12/1999
10/21/2003
10/22/2003
02/12/2004
11/30/2005
12/31/2005
代码如下:
//导包如下
import java.util.Scanner;
import java.util.List;
import java.util.LinkedList;
import java.util.Iterator;
import java.util.Collections;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
List<String> l=new LinkedList<String>();
while(scan.hasNext()) {
String s=scan.next();
l.add(s);
//修改排序方式
Collections.sort(l,new Comparator<String>() {
public int compare(String o1, String o2) {
if(Integer.parseInt(o2.split("/")[2])<Integer.parseInt(o1.split("/")[2]))
return 1;
else if(Integer.parseInt(o2.split("/")[2])==Integer.parseInt(o1.split("/")[2])&&Integer.parseInt(o2.split("/")[0])<Integer.parseInt(o1.split("/")[0]))
return 1;
else if(Integer.parseInt(o2.split("/")[2])==Integer.parseInt(o1.split("/")[2])&&Integer.parseInt(o2.split("/")[0])==Integer.parseInt(o1.split("/")[0])&&Integer.parseInt(o2.split("/")[1])<Integer.parseInt(o1.split("/")[1]))
return 1;
return -1;
}
});
}
Iterator<String> it=l.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
}
运行结果如下: