java日期字符串排序_java字符串日期排序比较问题
展開全部
排序么?import?java.text.Format;
import?java.text.SimpleDateFormat;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.Comparator;
import?java.util.Date;
import?java.util.List;
public?class?Test?{
public?static?void?main(String?args[])?{
System.out.println("字符串比32313133353236313431303231363533e4b893e5b19e31333332626631較");
test1();
System.out.println("Date比較");
test2();
}
private?static?void?test1()?{
List?data?=?init();
System.out.println("排序前"?+?data);
Collections.sort(data,?new?Comparator()?{
public?int?compare(String?o1,?String?o2)?{
String[]?arr1?=?o1.split("_");
String[]?arr2?=?o2.split("_");
int?comparator?=?toInt(arr1[0],?-1)?-?toInt(arr2[0],?-2);
if?(comparator?==?0)?{
comparator?=?toInt(arr1[1],?-1)?-?toInt(arr2[1],?-2);
if?(comparator?==?0)?{
return?toInt(arr1[2],?-1)?-?toInt(arr2[2],?-2);
}
}
return?comparator;
}
});
System.out.println("排序后"?+?data);
}
private?static?void?test2()?{
List?data?=?init();
System.out.println("排序前"?+?data);
final?Format?f?=?new?SimpleDateFormat("yyyy-MM-dd");
Collections.sort(data,?new?Comparator()?{
public?int?compare(String?o1,?String?o2)?{
Date?d1;
Date?d2;
try?{
d1?=?(Date)?f.parseObject(o1);
d2?=?(Date)?f.parseObject(o2);
return?d1.compareTo(d2);
}?catch?(Exception?e)?{
e.printStackTrace();
}
return?0;
}
});
System.out.println("排序后"?+?data);
}
private?static?List?init()?{
List?data?=?new?ArrayList();
data.add("2013-3-3");
data.add("2012-4-4");
return?data;
}
private?static?int?toInt(String?str,?int?delVal)?{
try?{
return?Integer.parseInt(str);
}?catch?(Exception?e)?{
return?delVal;
}
}
}
字符串比較
排序前[2013-3-3, 2012-4-4]
排序后[2012-4-4, 2013-3-3]
Date比較
排序前[2013-3-3, 2012-4-4]
排序后[2012-4-4, 2013-3-3]
總結(jié)
以上是生活随笔為你收集整理的java日期字符串排序_java字符串日期排序比较问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 字符串去重排序
- 下一篇: 硬改intel网卡MAC地址