我创建了一个这样的数组列表
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/