首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

求,java

2013-08-06 
求高手指点,java行字符串值排序,而不是按日期排序比如1-Jan-031-Feb-031-Dec-02应该改为1-Feb-031-Jan-031

求高手指点,java
行字符串值排序,而不是按日期排序
比如1-Jan-03
        1-Feb-03
        1-Dec-02应该改为1-Feb-03
                        1-Jan-03
                        1-Dec-02
这个小程序应该怎么写


[解决办法]
实现Comparator接口吧!自定义一个比较器,想怎么比较就这么比较!
[解决办法]
其实人家就是想问比较器怎么写。
但是我真看不住来你这“行字符串值”是啥意思。
[解决办法]
String[] a ={"1-Jan-03","1-Feb-03","1-Dec-02"};
for(int i = 0;i<a.length;i++){
for(int j = i;j<a.length-i-1;j++){
String b;
if(a[j].compareTo(a[j+1]) > 0){
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
}
for(int i = 0;i<a.length;i++){
System.out.println(a[i]);
}

是这种吗?
[解决办法]
你可以把他转换成日期再排序呀!


final DateFormat df = new SimpleDateFormat("d-MMM-yy", Locale.US);
String[] str = {"1-Jan-03","1-Feb-03","1-Dec-02"};
Arrays.sort(str,new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
if(s1 != null && s2 != null){
try {
Date d1 = df.parse(s1);
Date d2 = df.parse(s2);
return -d1.compareTo(d2);
} catch (ParseException e) {
e.printStackTrace();
}
}
return 0;
}
});

热点排行