Как отсортировать список <Integer>?
У меня есть код, и я использовал список для хранения данных.
Я хочу сортировать данные из него, тогда есть ли способ сортировки данных или мне придется сортировать его вручную, сравнивая все данные?
public class tes
{
public static void main(String args[])
{
List<Integer> lList = new ArrayList<Integer>();
lList.add(4);
lList.add(1);
lList.add(7);
lList.add(2);
lList.add(9);
lList.add(1);
lList.add(5);
for(int i=0; i<lList.size();i++ )
{
System.out.println(lList.get(i));
}
}
}
Ответы
Ответ 1
Вы можете использовать Collections
для сортировки данных:
public class tes
{
public static void main(String args[])
{
List<Integer> lList = new ArrayList<Integer>();
lList.add(4);
lList.add(1);
lList.add(7);
lList.add(2);
lList.add(9);
lList.add(1);
lList.add(5);
Collections.sort(lList);
for(int i=0; i<lList.size();i++ )
{
System.out.println(lList.get(i));
}
}
}
Ответ 2
По возрастанию:
Collections.sort(lList);
По убыванию:
Collections.sort(lList, Collections.reverseOrder());
Ответ 3
Просто используйте Collections.sort(yourListHere)
здесь для сортировки.
Подробнее о Коллекциях можно узнать из здесь.
Ответ 4
Используйте API классов Collections для сортировки.
Collections.sort(list);
Ответ 5
Сортировка по возрастанию:
Collections.sort(lList);
И для обратного порядка:
Collections.reverse(lList);
Ответ 6
Вот решение:
public class tes
{
public static void main(String args[])
{
List<Integer> lList = new ArrayList<Integer>();
lList.add(4);
lList.add(1);
lList.add(7);
lList.add(2);
lList.add(9);
lList.add(1);
lList.add(5);
Collections.sort(list);
for(int i=0; i<lList.size();i++ )
{
System.out.println(lList.get(i));
}
}
}
Ответ 7
Вы можете использовать метод утилиты в классе Collections
public static <T extends Comparable<? super T>> void sort(List<T> list)
или
public static <T> void sort(List<T> list,Comparator<? super T> c)
Обратитесь к интерфейсам Comparable
и Comparator
для большей гибкости при сортировке объекта.