Java, как упорядочить список в алфавитном порядке по одному из его элементов

Я пытаюсь добавить список друзей пользователей в свое приложение, чтобы они могли быстро находить людей, за которыми они следят в твиттере, в настоящее время я могу это сделать, но результаты возвращаются на основе самых последних людей, за которыми следил пользователь, но не в алфавитном порядке, что я и хочу, есть ли способ, которым я могу по существу взять список списков и отсортировать весь список на основе одного конкретного элемента в списке?

РЕДАКТИРОВАТЬ: извините, совсем забыл добавить в свой код, мои извинения

long cursor = -1;
        List<User> users = new ArrayList<User>();
        try {
            PagableResponseList<User> userGroups = null;
            do {
                userGroups = twitter.getFriendsList(app.getUserId(), cursor);
                for (User user : userGroups) {
                    users.add(user);
                }
            } while ((cursor = userGroups.getNextCursor()) != 0);

        } catch (TwitterException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

person Edmund Rojas    schedule 18.12.2012    source источник
comment
Да есть способ. Но сначала скажите, используйте то, что у вас есть до сих пор.   -  person Rohit Jain    schedule 18.12.2012
comment
www.whathaveyoutried.com   -  person Ben Glasser    schedule 18.12.2012
comment
Извините, что совсем забыл добавить в код, моя ошибка   -  person Edmund Rojas    schedule 18.12.2012
comment
См. этот вопрос: -object" title="android java, как отсортировать список объектов по определенному значению внутри объекта"> stackoverflow.com/questions/9109890/   -  person Kuffs    schedule 18.12.2012


Ответы (2)


Используйте Collections.sort(). Вам нужно будет создать собственный Comparator для это, но есть много доступных руководств по этому вопросу.
В основном вы создаете подкласс Comparator для сравнения двух объектов User и возвращаете результат на основе имени. Если имена являются строками, вы можете просто вернуть user1.name.compareTo(user2.name);, так как строки уже имеют метод сравнения.

person Jave    schedule 18.12.2012

Измените свой список на набор

Set<User> users = new TreeSet<User>();

Это предполагает, что ваши User уникальны.

Возможно, вам придется обернуть класс User своим собственным классом, чтобы вы могли написать свой собственный Comparator.

person Gilbert Le Blanc    schedule 18.12.2012