Java Stream: 获取 List<Long> 中满足条件的索引
您可以使用IntStream来获取当前索引,并使用filter方法根据条件筛选出满足条件的索引。然后,将这些索引转换为Long类型,最后将结果收集到一个List中。\n\n示例代码如下:\n\njava\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.stream.Collectors;\nimport java.util.stream.IntStream;\n\npublic class Main {\n public static void main(String[] args) {\n List<Long> numbers = new ArrayList<>();\n numbers.add(10L);\n numbers.add(20L);\n numbers.add(30L);\n numbers.add(40L);\n numbers.add(50L);\n\n List<Long> filteredIndexes = IntStream.range(0, numbers.size())\n .filter(i -> numbers.get(i) > 30)\n .mapToObj(numbers::get)\n .collect(Collectors.toList());\n\n System.out.println(filteredIndexes);\n }\n}\n\n\n在上面的示例中,我们根据numbers列表的元素值大于30的条件筛选出索引,并将这些索引转换为Long类型的元素,最后将结果收集到filteredIndexes列表中。输出结果为[40, 50],即满足条件的元素。\n\n希望对您有帮助!
原文地址: https://www.cveoy.top/t/topic/p8nI 著作权归作者所有。请勿转载和采集!