当前位置: 首页 > 知识库问答 >
问题:

如何在ArrayList中找到最小值以及索引号?(爪哇)

范鸿
2023-03-14

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

共有3个答案

米元凯
2023-03-14

试试这个:

public int getIndexOfMin(List<Float> data) {
    float min = Float.MAX_VALUE;
    int index = -1;
    for (int i = 0; i < data.size(); i++) {
        Float f = data.get(i);
        if (Float.compare(f.floatValue(), min) < 0) {
            min = f.floatValue();
            index = i;
        }
    }
    return index;
}
鲁乐
2023-03-14

这应该使用内置函数来完成。

public static int minIndex (ArrayList<Float> list) {
  return list.indexOf (Collections.min(list)); }
朱英范
2023-03-14

您可以使用Collections.min和List.index:

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中获取最小值的索引值。我的arraylist包含多个浮点数,我正在尝试一种获取最小浮点数的索引号的方法,以便可以在代码的其他地方使用该索引号。我是初学者,所以请不要讨厌我。谢谢! 问题答案: 您可以使用Collections.min和List.indexOf: 如果您只想遍历列表一次(以上内容可能遍历两次):

  • 本文向大家介绍如何找到R中向量的最小值和最大值的索引?,包括了如何找到R中向量的最小值和最大值的索引?的使用技巧和注意事项,需要的朋友参考一下 在分析项目中进行数据探索时,有时我们需要找到一些值的索引,主要是最小值和最大值的索引,以检查相应的数据行是否包含一些关键信息,或者我们可能会忽略它。此外,如果我们不想忽略它们,有时会根据数据特征将这些值转换为另一个值。 示例

  • 我试图写一个代码,将电影存储在一个列表中,我可以通过要求添加一个电影的位置或检查它是否在列表中检索。到目前为止,我一直致力于检索部分,但我一直得到一个错误,其中"描述符'索引'的'列表'对象不适用于'str'对象"。这是目前为止我的代码

  • 问题内容: 对于我的项目,我需要制作一个程序以10个数字作为输入并显示这些数字的模式。该程序应使用两个数组和一个将数字数组作为参数并在数组中返回最大值的方法。 基本上,到目前为止,我所做的是使用第二个数组来跟踪一个数字出现了多少次。查看初始数组,您将看到模式为4。(显示最多的数字)。在第二个数组中,索引4的值为2,因此2将是第二个数组中的最大值。我需要在第二个数组中找到该最大值,然后打印索引。我的

  • 假设我有一个包含元素的列表。 使用Java8 streams,如何找到列表最小元素的索引(例如,在本例中为1)?

  • 我尝试搜索列表中的某个特定名称(如果它在列表中),然后打印该对象。