求高手指点,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;
			}
		});