从java.util. arraylist到java中的字典



我使用JBPM在DB中进行SQL查询。sql输出返回到一个变量java.util.ArrayList。在MariaDB中查询的表如下所示:

variable   value
math       1
physics    4
biology    10
...
sport      5
chemistry  9

我要查询的是SELECT * from school_data。它以列表的形式返回给我,例如[数学,1,物理,4,生物,10.....]],只有20个元素。

是否有一种方法可以转换字典中的输出,然后轻松地提取值?在python中应该是这样的:

cur = connection.cursor()
cur.execute("SELECT * from school_data")
result = cur.fetchall()
query_result = dict((x, y) for x, y in result)
math=query_result['math']
physics=query_result['physics']
biology=query_result['biology']

Java没有将列表或字典/映射作为内置数据类型,因此它不提供使用它们的语法或内置操作符。当然可以执行您所描述的转换,但是否"容易"完成是一个意见问题。一种方法是这样的:

Map<String, String> query_result = new HashMap<>();
for (int i = 0; i < result_array.length; i += 2) {
query_result.put(result_array[i], result_array[i + 1]);
}
String biology = query_result.get("biology");
// ...

这对所涉及的数据类型做了一些假设,您可能需要根据实际数据进行调整。

最新更新