java - 使用 Collections.min 中的值进行索引时出现 IndexOutOfBoundsException

标签 java arraylist

我试图获取最小值的索引,但当第一个元素的最小值为 570(索引 = 0)时,我收到此错误。我做错了什么?

代码:

//ArrayList of distanceList [570, 621, 716, 906, 1055, 1253, 1314, 1314]
ArrayList<Integer> distanceList = entry.getValue();
//min is 570
int min = Collections.min(distanceList);
int index = distanceList.get(min);

错误:

threw exception [java.lang.IndexOutOfBoundsException: Index: 570, Size: 8] with root cause
java.lang.IndexOutOfBoundsException: Index: 570, Size: 8
    at java.util.ArrayList.rangeCheck(ArrayList.java:635)
    at java.util.ArrayList.get(ArrayList.java:411) 

最佳答案

使用int index = distanceList.get(min);,您将获得distanceList的第min元素。

尝试int index = distanceList.indexOf(min);而不是

关于java - 使用 Collections.min 中的值进行索引时出现 IndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32488682/

相关文章:

java - 使用 Spring Data JPA 的自定义查询返回自定义对象

java - 如何获取月份中的某一天?

java - 可以导出 UnicastRemoteObject 然后作为参数传递吗

java - java中存储信息

java - ArrayList.add() 无法正常工作

java - 如何改进 Java 泛型通配符签名

java - StackOverflowError 在 URLFetchServiceFactory.getURLFetchService().fetch

java - 从另一个类访问的静态 ArrayList 始终为空

java - 如何将 ArrayList<LinkedHashMap<String, Comparable>> 转换为 Comparable?

java - 如何从一个标签获取多个值