Сортировка строкового массива с датой в пользовательском формате

У меня есть строка, как

String str[]={"jan2011","feb2011","jan2010,"mar2012"};

Как мне отсортировать это по дате, например: jan2010, jan2011, feb2011, mar2012

спасибо за заранее (больше не использовать строковые функции)


person Community    schedule 30.05.2011    source источник
comment
спасибо, я исправил еще раз, посмотри   -  person    schedule 30.05.2011


Ответы (2)


Хой:

String[] unsorted={"jan2011","feb2011","jan2010","mar2012"};
List<String> unsortedList = Arrays.asList(unsorted);
Collections.sort(unsortedList);
String[] sorted = (String[])unsortedList.toArray();

Это должно сделать...

person Gruber    schedule 30.05.2011
comment
@gruber, который будет сортировать по алфавиту, а не по дате - person fvu; 30.05.2011
comment
Спасибо, но я разрабатываю приложение для BlackBerry, поэтому здесь не работают коллекции. - person ; 30.05.2011
comment
@govind Я немного запутался, что именно ты ищешь? функция сортировки в Java? - person fvu; 30.05.2011
comment
ваш код не работает в java также потому, что если в массиве строк все строки либо строки, либо числа, то он работает, но в моей строке он не работает - person ; 30.05.2011
comment
@fvu, сэр, на самом деле функции коллекции java работают, если массив строк содержит все строки, либо строки, либо числа, но мне нужно короткое выше массива строк, помогите мне - person ; 30.05.2011

Предположим, у вас версия 6. в вашем распоряжении, вы можете использовать встроенный

Collections.insertionSort(datavector, comparator);

Тем не мение:

  • вам нужно переместить строки в Вектор
  • вам нужно будет предоставить класс Comparator для ваших конкретных потребностей

Класс Comparator может быть примерно таким:

public class DatestringComparator implements Comparator{

    public int compare(String s1, String s2) {
        // create Date instance based on the content of the input string
        Date d1 = ....; 
        Date d2 = ....;
        return d1.compareTo(d2);
    }
}
person fvu    schedule 30.05.2011
comment
спасибо, сэр, но я не получил это, пожалуйста, предоставьте мне код для моего требования - person ; 30.05.2011