按字母顺序排序的ArrayList(不区分大小写) [英] Sorting arraylist in alphabetical order (case insensitive)

查看:1487
本文介绍了按字母顺序排序的ArrayList(不区分大小写)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个字符串的ArrayList 名称,其中包含的人的名字。我想以按字母顺序ArrayList中。

 的ArrayList<串GT;名称=新的ArrayList<串GT;();
names.add(seetha);
names.add(sudhin);
names.add(Swetha);
names.add(Neethu);
names.add(专一);
names.add(Athira);
names.add(巴拉);
names.add(贝);
names.add(Karthika);
names.add(Nithin);
names.add(维诺德);
names.add(jeena);
Collections.sort(地名);
的for(int i = 0; I< names.size();我++)
    的System.out.println(names.get(I));

我试图以按上述方式列表中。但它显示了数组排序为:

  Athira
Karthika
..
..
专一
巴拉
...

但我不希望把它区分大小写。我想要的结果为:

 专一
Athira
巴拉


解决方案

自定义比较应该帮助

  Col​​lections.sort(名单,新的比较<串GT;(){
        @覆盖
        公众诠释比较(字符串S1,S2的字符串){
            返回s1.compareToIgnoreCase(S2)​​;
        }
    });

I have a string arraylist names which contains names of people. I want to sort the arraylist in alphabetical order.

ArrayList<String> names = new ArrayList<String>();
names.add("seetha");
names.add("sudhin");
names.add("Swetha");
names.add("Neethu");
names.add("ananya");
names.add("Athira");
names.add("bala");
names.add("Tony");
names.add("Karthika");
names.add("Nithin");
names.add("Vinod");
names.add("jeena");
Collections.sort(names);
for(int i=0; i<names.size(); i++)
    System.out.println(names.get(i));

I tried to sort the list in above way. But it is displaying the sorted array as:

Athira
Karthika
..
..
ananya
bala
...

but I don't want to make it case sensitive. I want the result as:

ananya
Athira
bala

解决方案

Custom Comparator should help

    Collections.sort(list, new Comparator<String>() {
        @Override
        public int compare(String s1, String s2) {
            return s1.compareToIgnoreCase(s2);
        }
    });

这篇关于按字母顺序排序的ArrayList(不区分大小写)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆