如何在ArrayList中找到最小值以及索引号? (Java)
我需要在Java的arraylist中获取最小值的索引值。 我的arraylist包含多个浮点数,我正在尝试一种获取最小浮点数的索引号的方法,以便可以在代码的其他地方使用该索引号。 我是一个初学者,所以请不要讨厌我。 谢谢!
user2130496 asked 2020-01-17T11:06:44Z
6个解决方案
93 votes
您可以使用Collections.min和List.indexOf:
int minIndex = list.indexOf(Collections.min(list));
如果您只想遍历列表一次(以上内容可能遍历两次):
public static > int findMinIndex(final List xs) {
int minIndex;
if (xs.isEmpty()) {
minIndex = -1;
} else {
final ListIterator 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