java - 按项目子字符串对数组排序

标签 java android arrays sorting

我的数组包含如下所示的项目:

"item_name_1::item_description::item_value"

(因此数组中的每个项目都包含单独的数据 fragment ,这些数据稍后会在“::”处拆分)

我的问题是,我如何按“ITEM_VALUE”(这是一个数值)对数组进行排序,我尝试了以下方法,但没有成功:

Arrays.sort(inputArr, new Comparator<String>() {
    @Override
    public int compare(String entry1, String entry2) {
        String[] entry1Split = entry1.split("::");
        String[] entry2Split = entry2.split("::");

        return entry1Split[2].compareTo(entry2Split[2]);
    }
});

最佳答案

你应该能够做到这一点:

Arrays.sort(inputArr, new Comparator<String>() {
    @Override
    public int compare(String entry1, String entry2) {
        String[] entry1Split = entry1.split("::");
        String[] entry2Split = entry2.split("::");

        return Double.valueOf(entry1Split[2]).compareTo(Double.valueOf(entry2Split[2]));
    }
});

也就是说,如果您的数值是浮点值。如果它们是整数,您可以使用 Integer.valueOf 而不是 Double.valueOf

关于java - 按项目子字符串对数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7307697/

相关文章:

java - 由于 "unable to create new native thread"导致 OutOfMemory 时的堆转储

jackson json 和 spring 和 hibernate 的 java.lang.StackOverflowError

android - ConstraintLayout 中的 ScrollView 滚动错误

php - 拆分嵌套数组以在 php 中使用

java - 设置 ListView 背景时应用程序崩溃

android - 无法在 Linux 中启动 Android Studio

android - Firebase onComplete 从未在后台进程中调用

C++动态字符串数组

python - 根据其他两个数组中公共(public)值的索引从数组返回值

java - 在 Java 中通过套接字传递 JSON 对象数组