#android #sorting #collections
#Android #сортировка #Коллекции
Вопрос:
У меня есть список, мне нужно показать текущего зарегистрированного пользователя вверху списка. Как я могу это показать? Я использую коллекции.метод сортировки, но он сравнивает только строковые значения по идентификатору пользователя или имени пользователя и сортирует в порядке ASC или DSC.
Collections.sort(response.getData(), new Comparator<UpcomingParticipantsData>(){
public int compare(UpcomingParticipantsData obj1, UpcomingParticipantsData obj2) {
// ## Ascending order
return obj1.getUid().compareToIgnoreCase(obj2.getUid()); // To compare string values
// return Integer.valueOf(obj1.empId).compareTo(Integer.valueOf(obj2.empId)); // To compare integer values
// ## Descending order
// return obj2.firstName.compareToIgnoreCase(obj1.firstName); // To compare string values
// return Integer.valueOf(obj2.empId).compareTo(Integer.valueOf(obj1.empId)); // To compare integer values
}
});
Комментарии:
1. Есть ли
UpcomingParticipantsData
свойство, которое будет указывать дату и время входа в систему? ДобавьтеUpcomingParticipantsData
класс с вопросом.2. У @ADM UpcomingParticipantsData есть только 2 параметра uid и username Это не зависит от входа в систему, мне нужно поместить пользователя вверху и оставить пользователей из 1-го индекса arraylist, после получения ответа от сервера.
3. Это не сортировка. Вам просто нужно получить текущего пользователя и вставить его с нулевым индексом, а также сначала удалить его, если список уже содержит его.
4. @ADM Хорошо, вы можете помочь мне добиться этого? и возможно ли это без цикла for?