我需要在Java的arraylist中获取最小值的索引值。我的arraylist包含多个浮点数,我正在尝试一种获取最小浮点数的索引号的方法,以便可以在代码的其他地方使用该索引号。我是一个初学者,所以请不要讨厌我。谢谢!

最佳答案

您可以使用Collections.minList.indexOf:

int minIndex = list.indexOf(Collections.min(list));

如果您只想遍历列表一次(以上内容可能遍历两次):
public static <T extends Comparable<T>> int findMinIndex(final List<T> xs) {
    int minIndex;
    if (xs.isEmpty()) {
        minIndex = -1;
    } else {
        final ListIterator<T> itr = xs.listIterator();
        T min = itr.next(); // first element as the current minimum
        minIndex = itr.previousIndex();
        while (itr.hasNext()) {
            final T curr = itr.next();
            if (curr.compareTo(min) < 0) {
                min = curr;
                minIndex = itr.previousIndex();
            }
        }
    }
    return minIndex;
}

关于java - 如何在ArrayList中找到最小值以及索引号? (Java),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15995458/

10-10 17:08