按字母顺序对列表中的名称进行排序?

Posted

技术标签:

【中文标题】按字母顺序对列表中的名称进行排序?【英文标题】:Sorting names in a list alphabetically? 【发布时间】:2011-10-13 03:46:19 【问题描述】:

你能帮我按字母顺序排列列表吗

我的代码

emailList.add(contact.getUserName());                               
String[] emails = new String[emailList.size()];
emailList.toArray(emails);
namesList.add(name);

Collections.sort(emailList, new Comparator() 
    public int compare(Object o1, Object o2) 
        String name1 = (String) o1;
        String name2 = (String) o2;
        return name1.compareToIgnoreCase(name2);
    
);

System.out.println("namesList.toString() = " + namesList.toString());

【问题讨论】:

【参考方案1】:

您无需创建新的比较器。只需拨打Collections.sort(emailList);

更新:

Collections.sort(emailList, new Comparator<String>()

    @Override
    public int compare(String text1, String text2)
    
        return text1.compareToIgnoreCase(text2);
    
);

【讨论】:

如果比较需要不区分大小写,那么默认比较器将不起作用。 如果您使用该组项目来填充列表视图,请不要忘记执行listAdapter.notifyDataSetChanged(); 来更新用户界面。

以上是关于按字母顺序对列表中的名称进行排序?的主要内容,如果未能解决你的问题,请参考以下文章

根据子列表中的第二个元素按字母顺序对列表进行排序,但不区分大小写[重复]

如何先按搜索词排序查询结果,然后按字母顺序?

如何按字母顺序对项目进行排序?

使用冒泡排序对Java中的名称数组按字母顺序排序

按字母顺序对字符串列表进行排序 (C)

Python数据结构按字母顺序排序列表