如果 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) 获取列表中的第一个元素。

Java 获取 List 中最小值的索引,处理多个最小值情况

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

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