-1

在一次采访中,有人问了一个问题,有一个包含几个字符串的列表,如下所示,必须逐个字符进行比较

cDgHkJ----------->index 0
bAgHtR----------->index 1
aBEfgj----------->index 2

现在我必须对列表进行排序,以某种方式我应该忽略不区分大小写的大小写它应该是但在 from 这样的

索引2和索引1的对比如下图

aAEfgj----------->index 1
bBgHtR----------->index 2

然后比较索引1和索引2

cDgHkJ----------->index 0
aAEfgj----------->index 1   ( which we first sorted in first step)

--------最终排序列表---------------

aAEfgJ---------> ultimately final sorted list , I want to achieve
cDgHkj----------->index 1  
aBEfgj----------->index 2

请告知如何实现这一目标。

4

1 回答 1

-1

您可以通过定义自己的比较器来轻松做到这一点,该比较器在强制为小写或大写后比较两个字符串:

List<String> strings = new ArrayList<>();

// fill with strings

Collections.sort(strings, 
                 new Comparator<String>() { 
                     @Override
                     public int compare(String s1, String s2) { 
                         return s1.toLowerCase().compareTo(s2.toLowerCase()); 
                     }
                 }
);
于 2013-03-10T05:18:19.760 回答