Java在arraylist中排序数字

标签 java string sorting comparator

我创建了一个这样的数组列表

ArrayList<String> entries = new ArrayList<String>();
entries.add("0 - name1");
entries.add("1000 - name2");
entries.add("1004 - name4");
entries.add("1002 - name3");
entries.add("10000 - name5");
entries.add("2000 - name5");

列表总是以 0 到 15,000 之间的数字开头,所以当我排序时,我希望它只根据数字排序,没有任何数字会匹配,它们应该按升序排列。

如何使用 java 完成此操作?我可以使用比较器吗?

最佳答案

是的,它可以用一个比较器来完成,但它不会很有效,因为你需要继续解析数据以提取数字,然后你需要将数字转换为整数并进行比较.

更好的方法是创建一个具有两个属性(编号和名称)的自定义对象。然后你可以对数字进行排序。这个比较器将是直截了当的。您可以在论坛中搜索示例。

关于Java在arraylist中排序数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8690832/

相关文章:

java - 加密 AES/CBC/NoPadding 未产生正确的结果

java - 根据列表优先级合并多个列表

c++ - c++ - 如何在c++中按降序对基于第二个元素的对列表进行排序

javascript - 功能完成时加载按钮

java - 单元测试失败: mockS3FileRead NullPointerException

Java 8 使用 Lambda/方法引用动态

c# - 在字符串中的两个值之间查找单词

C# 控制台应用程序点效果

Python:将逻辑字符串解析为列表列表

java - 将二叉树转换为排序数组