java - 对其中包含数字的 String ArrayList 进行排序的最佳方法

标签 java sorting arraylist

我有一个以这种类型的样式设置的数组列表...

  • 4 只狗
  • 10 只猫
  • 2 只狗

我想对其进行排序,以便 ArrayList 的顺序为...

  • 1 只狗
  • 4 只狗
  • 10 只猫

在不使用比较器或其他方法的情况下,通过取出数字(用空格“”分割字符串?)、比较它们并将排序后的结果放回 ArrayList 来对它们进行排序的最短、最简单的方法是什么?如果您能附上您的代码片段,我们将不胜感激。

最佳答案

最简单的方法是使用比较器:

Collections.sort(list, new Comparator<String>() {
    public void compare(String one, String two) {
         return getNumber(one) - getNumber(two);
    }
    private int getNumber(String str) {
        return Integer.parseInt(one.split(" ")[0]);
    }
}

我真的不知道还有什么可以更简单。

关于java - 对其中包含数字的 String ArrayList 进行排序的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22688296/

相关文章:

ruby - 按键排序散列,在 Ruby 中返回散列

sorting - 如何按具有不同 JPA 规范的获取属性进行排序

按字母顺序对 NSMutableArray 和 NSString 进行排序

javascript - 动态添加钛 TableView 中的值

java - 如何使用 JPA 2、Hibernate 3.5 处理选择字段

java 使用 SocketChannel 进行文件传输

java - Spring Beans 中的 EJB 3 Sessioncontext

java - Docker Image 无法正常启动

java - 从数组中获取最频繁的值

java - 在 Java 中比较具有最小时间复杂度的列表