若要获取List中最小值的位置,且不使用list.get方法,可以使用以下代码:

public static int getMinIndex(final List<BigDecimal> list) {
    final int size = list.size();
    if (size == 0) {
        throw new IllegalArgumentException("List is empty");
    }
    
    int minIndex = 0;
    BigDecimal minValue = list.get(0);

    for (int i = 1; i < size; i++) {
        final BigDecimal value = list.get(i);
        if (value.compareTo(minValue) < 0) {
            minIndex = i;
            minValue = value;
        }
    }

    return minIndex;
}

在上述代码中,我们使用一个final变量minIndex来存储最小值的索引,并使用另一个final变量minValue来存储当前最小值。我们遍历List中的元素,比较每个元素与当前最小值的大小关系,如果找到更小的值,则更新minIndexminValue

注意:由于List是从0开始索引的,所以初始的minIndex设置为0。在循环中,我们从索引1开始遍历,以便比较第1个元素与初始的最小值

ListBigDecimal 获取最小的位置不用listget方法所有变量都用final

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

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