Сортировка массива строк с настраиваемой датой - PullRequest
1 голос
/ 30 мая 2011

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 30 мая 2011

Если у вас есть версия 6 , вы можете использовать встроенную

Collections.insertionSort(datavector, comparator);

Тем не менее:

  • вам нужно переместить ваши строки в Vector
  • вам нужно предоставить класс 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);
    }
}
0 голосов
/ 30 мая 2011

Хой:

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

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

...