要获取 Map 中规定范围内的全部值,可以使用 Java 8 的 Stream API 来实现。以下是一个示例代码:\n\njava\nimport java.util.HashMap;\nimport java.util.Map;\nimport java.util.stream.Collectors;\n\npublic class Main {\n public static void main(String[] args) {\n Map<Integer, String> map = new HashMap<>();\n map.put(1, "Value 1");\n map.put(2, "Value 2");\n map.put(3, "Value 3");\n map.put(4, "Value 4");\n map.put(5, "Value 5");\n\n int startKey = 2;\n int endKey = 4;\n\n // 使用 Stream API过滤Map中的键值对,并将值收集到一个List中\n Map<Integer, String> filteredMap = map.entrySet()\n .stream()\n .filter(entry -> entry.getKey() >= startKey && entry.getKey() <= endKey)\n .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));\n\n // 输出过滤后的Map中的值\n filteredMap.values().forEach(System.out::println);\n }\n}\n\n\n在上面的示例代码中,我们创建了一个包含整数作为键和字符串作为值的 Map。然后,我们指定了一个开始键和结束键,以确定我们想要获取的值的范围。\n\n使用 Stream API,我们可以使用entrySet()方法获取 Map 中的键值对的集合。然后,我们可以使用stream()方法将集合转换为流。接下来,我们使用filter()方法过滤出符合范围要求的键值对。最后,我们使用collect()方法将过滤后的键值对收集到一个新的 Map 中。\n\n最后,我们可以使用values()方法获取过滤后的 Map 中的所有值,并通过forEach()方法逐个输出。


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

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