当前位置: 首页 > 面试题库 >

如何在Android中正确对数组中的大小写字符串进行排序?

堵宪
2023-03-14
问题内容

大家好,我在排序时遇到小问题。

我正在收集String类型的一个集合。当我排序时,它给了我期望的错误结果

这是我的代码:

List <String> caps = new ArrayList<String>();  
caps.add("Alpha");  
caps.add("Beta");  
caps.add("alpha1");  
caps.add("Delta");  
caps.add("theta");

Collections.sort(caps);

它的排序方式是:

Alpha Beta Delta alpha1 theta。

在这里,它可以采用任何类型的字符串,包括大写/小写。但是小写字母的单词稍后出现。

我想要像这样的输出:

Alpha alpha1 Beta Delta theta

有一个简单的内置方法吗?


问题答案:

Collections.sort();使您可以传递自定义比较器进行订购。对于不区分大小写的排序String类,提供了一个称为的静态最终比较器CASE_INSENSITIVE_ORDER

因此,在您的情况下,所需要做的就是:

Collections.sort(caps, String.CASE_INSENSITIVE_ORDER);



 类似资料:
  • 问题内容: 我有一个字符串arraylist’names’。其中包含人员名称。我想按字母顺序对arraylist进行排序。请帮助我 问题答案: 这将解决您的问题… 要对ArrayList对象进行排序,请使用方法。这是一种静态方法。它将ArrayList对象的元素按升序排序。 万一下面的代码在注释中不起作用,请尝试以下代码。 创建一个自定义比较器类: 然后按您的排序:

  • 问题内容: 允许用户使用字符串数组进行演奏。他们可以将字符串添加到数组中,从数组中删除字符串,在数组中搜索字符串,最终他们将能够对数组进行排序。排序使我很困惑。我尝试了几种不同的方法。第一种方法是将数组转换为ArrayList并使用Collections对ArrayList进行排序,然后将其转换回静态类数组。没用 我尝试的第二种方法是遍历数组,并尝试仅对用户添加的字符串进行排序,而不是对数组中的所

  • 我主要是一个VB.NET程序员,对VTL(Velocity Template Language)非常陌生。我目前正试图定制一个应用程序,使用Velocity模板和Jython。 我在一个现有文件中有以下VTL代码。以下代码从一个JSON文件中获得一些键值对,并将它们以一个简洁的表形式输出到浏览器: 我可以显示$keyset数组: 我试图做的是按字母顺序对$keyset数组中的字符串进行排序。 我尝

  • 问题内容: 我currentyl不知道如何对包含PHP中UTF-8编码字符串的数组进行排序。该数组来自LDAP服务器,因此通过数据库排序(不会有问题)不是解决方案。以下内容不适用于我的Windows开发计算机(尽管我认为这至少应该是一个可能的解决方案): 输出为: 这是完全废话。使用1252作为的代码页会提供另一种输出,但仍然是一个明显错误的输出: 有没有一种方法可以对具有UTF-8字符串语言环境

  • 问题内容: 我想对具有nr的字符串进行排序。我怎么做? 可以说我的整数是 在主要我做class2.Sort(); 提前致谢。 问题答案:

  • 问题内容: 我有被随机放入的。 例如: 考虑到您无法控制输入的事实(即,进入ArrayList的字符串是随机的;以任何顺序排列的斑马或龙),一旦ArrayList充满了输入,我如何按字母顺序对它们进行排序(不包括第一个)? 很好 排序按字母顺序排列。 问题答案: 上面的代码将反映已排序原始列表的 实际子 列表。