你可以按照以下步骤在 Java 中查询 key 属于 list 中的所有键值对并生成新的 map:

  1. 创建一个空的新 map,用于存储查询结果。
  2. 遍历原始的 map 中的所有键值对。
  3. 对于每个键值对,检查其 key 是否属于 list 中。
  4. 如果 key 属于 list 中,则将该键值对存储到新的 map 中。
  5. 返回新的 map 作为查询结果。

以下是一个示例代码,演示如何实现上述逻辑:

import java.util.*;

public class Main {
   public static void main(String[] args) {
      Map<String, Integer> originalMap = new HashMap<>();
      originalMap.put('A', 1);
      originalMap.put('B', 2);
      originalMap.put('C', 3);
      originalMap.put('D', 4);
      
      List<String> keyList = new ArrayList<>();
      keyList.add('A');
      keyList.add('C');
      
      Map<String, Integer> resultMap = filterMapByKeyList(originalMap, keyList);
      
      System.out.println(resultMap); // 输出:{A=1, C=3}
   }
   
   public static <K, V> Map<K, V> filterMapByKeyList(Map<K, V> originalMap, List<K> keyList) {
      Map<K, V> resultMap = new HashMap<>();
      
      for (Map.Entry<K, V> entry : originalMap.entrySet()) {
         if (keyList.contains(entry.getKey())) {
            resultMap.put(entry.getKey(), entry.getValue());
         }
      }
      
      return resultMap;
   }
}

在上述示例代码中,我们创建了一个原始的 map originalMap,其中包含了 4 个键值对。然后,我们创建了一个 list keyList,其中包含了两个 key:'A' 和 'C'。最后,我们调用 filterMapByKeyList 方法,将 originalMapkeyList 作为参数传递给该方法,得到了新的 map resultMap,其中只包含了原始 map 中 key 属于 list 的键值对。

请注意,上述代码中使用了泛型来支持不同类型的键和值。如果你的 map 和 list 中的键的类型不是 String 类型,你需要相应地调整泛型类型。

通过以上步骤和示例代码,你就可以轻松地使用 Java 代码从 Map 中过滤出 Key 属于 List 中的所有键值对,并生成新的 Map。

Java Map 过滤:基于 List 获取指定 Key 的键值对

原文地址: https://www.cveoy.top/t/topic/p0Hh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录