Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Сортировка ArrayList
Список форумов
 ->  Коллекции (Java Collection Framework)


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
Richard : 105
Новичок
Откуда: СПб

СообщениеМар 29, 2007 10:36 
Ответить с цитатой
Подскажите пожалуйста, как отсортировать(по возрастанию) ArrayList(indexId, objectData) по indexId. Заранее благодарен.
К началу Посмотреть профиль Отправить личное сообщение
gesser : 3589
JavaTalks Team Member

СообщениеМар 29, 2007 11:43 
Ответить с цитатой
Richard писал(а):
Подскажите пожалуйста, как отсортировать(по возрастанию) ArrayList(indexId, objectData) по indexId. Заранее благодарен.


1. Что такое ArrayList(indexId, objectData)?
2. ArrayList это список который уже отсортирован по позиции/индексу (так как реализован с помощью одномерного массива, который природно отсортирован по возрастанию индекса)
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Richard : 105
Новичок
Откуда: СПб

СообщениеМар 29, 2007 13:23 
Ответить с цитатой
Я хотел просто узанть как можно отсортировать по дате такую запись(с учетом повторяющихся записей):

ArrayList("10.10.2004", "1@link");
ArrayList("10.10.2004", "2@link");
ArrayList("10.11.2005", "3@link");
ArrayList("02.10.2003", "4@link");
К началу Посмотреть профиль Отправить личное сообщение
gesser : 3589
JavaTalks Team Member

СообщениеМар 29, 2007 13:32 
Ответить с цитатой
Повторяю еще раз - что такое ArrayList(...)? Класс?
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Richard : 105
Новичок
Откуда: СПб

СообщениеМар 29, 2007 13:43 
Ответить с цитатой
Да это класс java.util.ArrayList. Точнее запись будет такой -
arr = new ArrayList();
arr.add("date", "link");
К началу Посмотреть профиль Отправить личное сообщение
gesser : 3589
JavaTalks Team Member

СообщениеМар 29, 2007 13:49 
Ответить с цитатой
Я, наверное, что-то не понимаю, это что вызов конструктора (я такой в первые вижу) или что?
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Richard : 105
Новичок
Откуда: СПб

СообщениеМар 29, 2007 14:04 
Ответить с цитатой
Прошу прощения за каламбур, я просто хотел узнать как можно отсортировать запись такого вида: ("n-й элемент", " m-й элемент"). Я пробывал использовать такую запись:

new TreeMap params = new TreeMap();
params.put(objectKey, objectValue);

соответственно objectKey - n-й элемент, objectValue - m-й элемент;
Но при такой записи у меня отсекаются повторяющиеся objectKey, а мне необходимо чтобы была возможность их повторения.
К началу Посмотреть профиль Отправить личное сообщение
Vlad : 1670
JavaTalks Team Member
Откуда: ODS-KRK-LON-HFE

СообщениеМар 30, 2007 0:52 
Ответить с цитатой
Код:

class Item {
  Object key;
  Object value;
  Item(Object k, Object v) {
    key = k; value = v;
  }
}
List<Item> list = new ArrayList<Item>();
list.add(new Item("A", "a"));
list.add(new Item("B", "b"));
list.add(new Item("B", "c"));
list.add(new Item("C", "c"));
Collections.sort(list, new Comparator<Item>() {
  int compare(Item o1, Item o2) {
    return o1.key.compareTo(o2.key);
  }
});
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Richard : 105
Новичок
Откуда: СПб

СообщениеМар 30, 2007 10:04 
Ответить с цитатой
Спасиба.
К началу Посмотреть профиль Отправить личное сообщение
matemink : 21
Новичок

СообщениеАвг 26, 2011 9:33 
Ответить с цитатой
Vlad писал(а):
Код:

class Item {
  Object key;
  Object value;
  Item(Object k, Object v) {
    key = k; value = v;
  }
}
List<Item> list = new ArrayList<Item>();
list.add(new Item("A", "a"));
list.add(new Item("B", "b"));
list.add(new Item("B", "c"));
list.add(new Item("C", "c"));
Collections.sort(list, new Comparator<Item>() {
  int compare(Item o1, Item o2) {
    return o1.key.compareTo(o2.key);
  }
});


Огромное спасибо, ради этого куска кода я обыскал весь интернет.
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Коллекции (Java Collection Framework)


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru