Java 获取 List 中最小值的索引,处理多个最小值情况
如果 List 中有多个最小值,使用 list.indexOf(minValue.get()) 方法只能获取第一个最小值的索引。为了获取所有最小值的索引,可以使用以下方法:
BigDecimal min = minValue.get();
List<Integer> indexes = IntStream.range(0, list.size())
.filter(i -> list.get(i).equals(min))
.boxed()
.collect(Collectors.toList());
return indexes;
这段代码使用 IntStream 遍历 List 的所有索引,并使用 filter 方法筛选出所有与最小值相等的元素的索引,最终将这些索引收集到一个 List 中并返回。
如果只想返回第一个最小值的索引,可以使用 indexes.get(0) 获取列表中的第一个元素。
原文地址: https://www.cveoy.top/t/topic/qaGo 著作权归作者所有。请勿转载和采集!