【问题标题】:How to iterate over a map to get all the values for 2 keys如何遍历地图以获取 2 个键的所有值
【发布时间】:2019-10-15 22:24:04
【问题描述】:

我已阅读 csv 并将值存储在 map 中(键值格式) 我需要将 2 个特定键的所有值提取到数组列表中,以将其与数据库值列进行比较

ArrayList ftlVal = new ArrayList();

                for (Map<String, String> map : finResult) {
                      Object[] key = {"Column2", "Column6"};
                      for (int i = 0; i < key.length; i++) {
                             do {
                                   //for (int j = 0; j <key.length; j++) {
                                          //while (map.get(key[j]) != null) {
                                                Object value = map.get(key[i]);
                                                // System.out.println(value);

                                                if (!ftlVal.contains(value)) {
                                                       ftlVal.add((String) value);
                                                       System.out.println(ftlVal);
                                                       i++;
                                                }
                                          }while (map.containsKey(key[i]));
                                   }
                             }
                             // System.out.println(finResult);
                      //}
                //}

我需要一个 arrylist 中 column2 和 column6 的所有值,然后将这些列与数据库 column2 和 column6 进行比较

【问题讨论】:

  • 地图只能包含唯一键。如果您尝试放置重复键,那么如果该键存在,它将替换旧值。如果您想要全部,那么您的 Map 应该是 Map 并且您应该在键中添加值。 :)

标签: java dictionary arraylist iterator


【解决方案1】:

暂且不说如何比较 ArrayList 与数据库列,以下代码将为您提供所需的两个 ArrayList。

ArrayList<String> column2List = new ArrayList<>();
ArrayList<String> column6List = new ArrayList<>();
for (Map<String, String> map : finResult) {
  String column2Value = map.get("Column2", null);
  String column6Value = map.get("Column6", null);
  column2List.add(column2Value);
  column6List.add(column6Value);
}

column2Listcolumn6List 是您需要的两个 ArrayList。

【讨论】:

  • 谢谢悉达多。你能帮我从这些arraylist resp中获得不同的值吗?
  • 如果您想要唯一的值,您可能希望使用 HashSet 而不是 ArrayList。如果您需要按排序顺序排列的值,也许 TreeSet 会有所帮助。
猜你喜欢
  • 2010-12-22
  • 1970-01-01
  • 2019-04-08
  • 2017-08-30
  • 1970-01-01
  • 1970-01-01
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多