我是Java的新手,一直在寻找答案 .
我运行一个SQL查询并使用响应从列名和值构建一个哈希映射列表 .
List<HashMap<String,String>> rulesList = Sql.getStuff("abc");
这会得到一个像这样的列表{column_1 = abc,column_3 = ghi,column_2 = def}
我想用这个列表做两件事 . 首先,我想查看是否有任何列包含特定值(ruleName) . 这部分不错 .
if (rulesList.get(0).containsValue(ruleName)) {
System.out.println("Expected: " + ruleName);
System.out.println("Actual: " + ruleName); //Would like to change this to include the actual column name and result
然后,我想检查其名称中包含特定词组的所有其他列,以查看它们是否包含值,例如“column_1,column_2,column_3”中的“column”一词 . 如果它们确实包含值,那么我想打印出列名和值 .
但是,当我遇到不知道如何从列表中进行选择的问题时 . 如何才能获得column_2及其附带的数据,或者与值abc相关联的列名?
3 回答
像这样的例子?
我认为你只需要词汇:hashmap将 key (唯一)与一个 value 联系起来 .
因此,考虑到这些关键字,您可以轻松找到答案,例如:
Here就是一个例子
和there .
你的问题是以一个哈希映射列为前提的
根据您的问题,您可能会尝试使用此结构:
如果是这种情况,请考虑修改存储结构并使用列表存储每个散列映射:
然后你可以简单地 grab 一列并查看数据 . 要将行作为列表返回,您可以编写一个函数来轻松完成