[Java] Advanced C# Exam 31.05.2015 Command Enterpreter - sorting String list/array дава различен резултат в C# и Java
Здравейте, колеги,
Да сте забелязали в задачата Command Enterpreter, че sorting List<String> дава различен резултат в C# и Java?
(Същото при String array, разбира се)
И затова ми гърмеше предпоследния тест. По условие трябва сортирането да дава a A b B и т.н., а Java сортерите дават A B a b (извеждат първо всички главни букви).
Та си направих ето този custom sorter, който сортира точно като в C#:
public static void sortListOfStrings(List<String> list) { for(int j=0; j< list.size();j++) { for (int i=j+1 ; i< list.size(); i++) { if(list.get(i).compareToIgnoreCase(list.get(j))<0 || (list.get(i).compareToIgnoreCase(list.get(j))==0 && list.get(i).compareTo(list.get(j))>0)) { String temp= list.get(j); list.set(j, list.get(i)); list.set(i, temp); } } } }
Ta въпросът ми е, на изпита като се каже sorted alphabetically - кое от двете сортирания ще се има предвид в Java:
Comparator.<String>naturalOrder()
или нещо от рода на това дето си го написах, та да сортира alphabetically?
Благодаря, предварително,
Катя