2014-11-29 8 views
-1
List<Object> pairs1 = new ArrayList<Object>(); 

Pair p =new Pair(); 
p.date="2014-10-10 10:10:10"; 
p.no=11;  
pairs1.add(p); 

Я создал список, подобный этому; Теперь я хочу, чтобы отсортировать его, используя дату без использования Collections.sortСписок сортировки <Object>

Или Покажите мне, как получить только дату из объекта списка

+3

И что вы пробовали? И почему вы сохраняете дату как строку вместо 'DateTime' (или' Date', если вы все еще используете Java 7-)? – fge

+0

Bcz в следующем шаге ia хотите дату в строке –

+0

Тогда что? JDK также имеет API для форматирования 'DateTime' /' Date' – fge

ответ

3

Два пути вы можете сделать:

  • Реализовать Сопоставимые для вашей пары класс и реализовать метод compareTo, сравнив две даты, а затем позвонить Collections.sort(pairs1);
  • Создайте еще один класс, который реализует метод сравнения и реализует метод сравнения, а затем вызывает Collections.sort(pairs1, mycomparator);
3

Если вы действительно хотите сохранить дату реализованный в виде строки и предполагая Pair класс Вы писали себя:

  • пусть это реализовать Comparable
  • написать подходящую реализацию compareTo(Object o)
  • использования Collections.sort(pairs1)
Смежные вопросы