编辑:已解决!谢谢大家。找不到符号错误排序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