以下是一个实现获取所有最小值索引的方法:

public static List<Integer> getMinValueIndexes(List<BigDecimal> bigDecimals) {
    List<Integer> indexes = new ArrayList<>();

    // 初始化最小值为列表中的第一个元素
    BigDecimal minValue = bigDecimals.get(0);

    // 遍历列表,找到最小值
    for (int i = 1; i < bigDecimals.size(); i++) {
        BigDecimal current = bigDecimals.get(i);
        int comparison = current.compareTo(minValue);

        // 如果当前元素小于最小值,则更新最小值,并清空已记录的索引
        if (comparison < 0) {
            minValue = current;
            indexes.clear();
        }

        // 如果当前元素等于最小值,则记录当前索引
        if (comparison == 0) {
            indexes.add(i);
        }
    }

    return indexes;
}

注意,该方法中使用了 list.get 方法来获取列表中的元素。如果要避免使用 list.get 方法的话,可以将方法参数改为 List<BigDecimal> bigDecimals, List<BigDecimal> minValueList, List<Integer> minIndexList,并在调用方法时传入相应的参数。这样就可以通过传入参数的方式获取元素,而不是使用 list.get 方法

final ListBigDecimal bigDecimals 获取所有最小值的索引不能使用listget方法

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

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