編輯:已解決!謝謝大家。找不到符號錯誤排序Collection with Collections.sort()
我想在沒有運氣的情況下使用比較器在Java中對Java集合進行排序。這裏是我的代碼:
public class Collections_Exercise {
public void runExercise(){
String[] emailArray = {"[email protected]","[email protected]","[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]"};
Collection<String>emails = new ArrayList<String>(Arrays.asList(emailArray));
processEmails(emails);
// 5. Call processEmails with a sorted list of emails with duplicate email addresses removed
System.out.println("Sorted list of emails with no dups!");
class alphabeticalComparator implements Comparator<String>
{
@Override
public int compare(String email1, String email2)
{
int result = email1.toString().compareTo(email2.toString());
return result;
}
}
Collections.sort(emails, new alphabeticalComparator()); //Doesn't work, can't find collections.sort() symbol
processEmails(emails);
private void processEmails(Collection<String> emails)
{
for(String s : emails)
System.out.println(s);
}
public static void main(String [] args)
{
new Collections_Exercise().runExercise();
}
}
無論我嘗試什麼,我都無法讓Collections.sort()工作。有小費嗎?
編輯:這是一個終端是給我的錯誤:
Collections_Exercise.java:58: cannot find symbol
symbol : method sort(java.util.Collection<java.lang.String>,alphabeticalComparator)
location: class java.util.Collections
Collections.sort(emails, new alphabeticalComparator());
請告訴我們你的意思到底是什麼,當你說:「我不能讓Collections.sort()」什麼是確切的問題 –
有你嘗試移動你的比較級以外的方法? – JustinKSU
字符串的自然排序是按字母順序排列的。調用Collections.sort()而不傳入比較器並查看是否有效。 – JustinKSU