从 java.util.ArrayList 到 java 中的字典
From java.util.ArrayList to a dictionary in java
我正在使用 JBPM 在数据库中进行 SQL 查询。 sql 输出是 return 到变量 java.util.ArrayList。我查询的table在MariaDB中是这样的:
variable value
math 1
physics 4
biology 10
...
sport 5
chemistry 9
我正在查询的是SELECT * from school_data
。它 return 以 [math,1,phycics,4,biology,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");
// ...
这对所涉及的数据类型做了一些假设,您可能需要根据实际数据进行调整。
我正在使用 JBPM 在数据库中进行 SQL 查询。 sql 输出是 return 到变量 java.util.ArrayList。我查询的table在MariaDB中是这样的:
variable value
math 1
physics 4
biology 10
...
sport 5
chemistry 9
我正在查询的是SELECT * from school_data
。它 return 以 [math,1,phycics,4,biology,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");
// ...
这对所涉及的数据类型做了一些假设,您可能需要根据实际数据进行调整。