2015-10-08 3 views
0

Я работаю над проблемой. Я почти закончен, но самый последний из моего кода меня смущает. Я знал, что Collections.sort() сортирует буквенный алфавит. Но этого кода нет. В java api говорится: Сортирует указанный список в порядке возрастания. Пожалуйста, поправьте меня, или предоставить некоторые info.Here это код:Как отсортировать ArrayList?

import java.util.*; 
class Ideone 
{ 
    public static void main (String[] args) 
    { 
    List <String> list = new ArrayList(); 
    list.add("derail");list.add("Disk");list.add("advocate");list.add("ladder"); 
    list.add("soon");list.add("eye");list.add("NotE");list.add("Bobycott"); 
    Collections.sort(list); 
    for (String ananagram : list) { 
     System.out.print(ananagram+" "); 
    } 
    } 
} 

выход:

Bobycott Disk NotE advocate derail eye ladder soon 

Но я Ожидая:

advocate Bobycott eye derail Disk ladder NotE soon 
+0

Прописные буквы идут до строчных букв ... так что * Z * предшествует * a *. – TheByeByeMan

ответ

0

Вы должны использовать что-то вроде этого:

Collections.sort(list, String.CASE_INSENSITIVE_ORDER); 

Все, что происходит s, причина в том, что char 'A' не равен 'a' (у них разные коды)

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