2013-12-11 3 views
10

У меня есть код, и я использовал список для хранения данных. Я хочу сортировать данные из него, то есть ли способ сортировки данных или мне нужно его вручную сортировать, сравнивая все данные?Как отсортировать список <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)); 
     } 
    } 
} 
+6

'Collections.sort (lList);'. Если вы хотите отсортировать по убыванию, вы должны уточнить произвольный компаратор. Btw _ "список сортировки java" _ в Google действительно даст вам результат гораздо быстрее, чем задавать вопрос здесь. –

ответ

11

Вы можете использовать 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)); 
     } 

    } 
} 
1

Использовать API классов коллекций для сортировки.

Collections.sort(list); 
2

Просто используйте Collections.sort(yourListHere) здесь, чтобы отсортировать.

Подробнее о Коллекциях от here.

0

Вот решение:

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)); 
     } 
    } 
} 
20

Восходящий порядок:

Collections.sort(lList); 

По убыванию:

Collections.sort(lList, Collections.reverseOrder()); 
1

Для сортировки в порядке возрастания:

Collections.sort(lList); 

И обратном порядке:

Collections.reverse(lList); 
+2

'Collections.reverse (lList);' будет просто изменять элементы в списке, а не сортировать в порядке убывания. –

0

Вы можете использовать метод полезности в 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 интерфейсам для большей гибкости при сортировке объекта.

Смежные вопросы