Какую структуру данных Java следует использовать для сортировки этих данных? - PullRequest
0 голосов
/ 10 июня 2011

Я использую Facebook SDK для Android, чтобы получить список друзей данного пользователя.Проблема в том, что друзья сортируются по userid (бесполезно для конечного пользователя).Мне нужно, чтобы они сортировались в алфавитном порядке.

В настоящее время у меня есть список в JSONArray, и мне интересно, в какую структуру данных мне следует помещать имена, чтобы добиться оптимальной сортировки.Поэтому нам нужно учитывать время вставки, время сортировки и время извлечения .

Из чтения других подобных ситуаций в Интернете я в настоящее время склоняюсь к TreeSet, но это всего лишь догадка,Что вы все думаете?

Ответы [ 2 ]

2 голосов
/ 10 июня 2011

Я бы использовал TreeSet, но не из соображений производительности. TreeSet реализует SortedSet, поэтому ваш список пользователей всегда сортируется с указанием правильного компаратора. И Set также упрощает обновление: просто поместите всех новых пользователей в набор, независимо от того, есть они или нет. Наборы не содержат дубликатов.

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

2 голосов
/ 10 июня 2011

Я бы использовал TreeMap или HashMap (или набор реализаций для каждого TreeSet-HashSet).Вам нужно будет либо внедрить Comparable , либо использовать Comparator , чтобы сортировка работала.Что касается скорости, я не думаю, что вы столкнетесь с какими-либо значительными проблемами, если не будете иметь дело с огромным количеством данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...