java - 如何像 SQL 中的 ORDER BY 子句一样操作数组?

标签 java sql arrays sql-order-by processing

我的数据已放入数组中,但不幸的是不是按照我想要的顺序...

String[][] databaseToArray = {
  //{"Name", "Channel", "Description", "Amount", "isReady"},
    {"John", "Nick",    "likes",       "2",      "yes"    },
    {"Drew", "MTV",     "dislikes",    "4",      "no"     },
    {"Fred", "CNN",     "okay",        "3",      "no"     },
    {"Beth", "Fox",     "valid",       "1",      "yes"    }
};

如何操作这个数组,以便当我循环它时,顺序是按金额,类似于 SELECT * FROM "databaseToArray"ORDER BY "Amount"又名

String[][] reorganizedArray = {
  //{"Name", "Channel", "Description", "Amount", "isReady"},
    {"Beth", "Fox",     "valid",       "1",      "yes"    },
    {"John", "Nick",    "likes",       "2",      "yes"    },
    {"Fred", "CNN",     "okay",        "3",      "no"     },
    {"Drew", "MTV",     "dislikes",    "4",      "no"     }
};

最佳答案

您需要传递 Comparator到 Arrays.sort 方法。我已经 5 年没有学过 Java了,但是应该很容易做到。也许有人可以清理我即将写的这个例子,因为我很确定我会出错。

String[][] databaseToArray = {
  //{"Name", "Channel", "Description", "Amount", "isReady"},
    {"John", "Nick",    "likes",       "2",      "yes"    },
    {"Drew", "MTV",     "dislikes",    "4",      "no"     },
    {"Fred", "CNN",     "okay",        "3",      "no"     },
    {"Beth", "Fox",     "valid",       "1",      "yes"    }
};

Arrays.sort(databaseToArray, new Comparator<String[]>() {
    public int compare(String[] a, String[] b) {
        return a[3].compareTo(b[3]);
    }
});

关于java - 如何像 SQL 中的 ORDER BY 子句一样操作数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279617/

相关文章:

java - 配置 Jetty 集群共享 web Session

java - ImageView 不显示

sql - 消息 102,级别 15,状态 1,第 9 行 '-' 附近语法错误

php - 如何在没有自动增量字段的表中对 PHPMyAdmin 中的结果进行排序

c++ - STL 是否包含适用于数组的迭代器?

java - Spring XsltViewResolver 前缀路径

java - 如何强制 hibernate 调用 setter 方法来填充类字段?

mysql - 可以检查选择查询中是否存在特定字段

java - 如何从 String[] 数组填充 Point[] 数组?

python - 在 for 循环中将字典添加到列表中,每次运行的最后一个 dict.key 的值未正确添加