我想找到在ArrayList
. 我想保留数字所在的顺序(换句话说,没有排序),因为我想跟踪哪个索引具有什么值。这些值来自随机数生成器,并且可能有两个(或更多)索引共享相同的最大值。
一个例子ArrayList
:
12、78、45、78
0,1,2,3 <- 索引
(所以索引 1 和 3 包含具有最大值的值。我想保持索引 1 和 3 的值是 78 的事实。我不想只创建一个新的ArrayList
并拥有新的索引 0 和 1ArrayList
有值 78)
因此,我想找到所有具有最大值的索引,因为如果有多个索引,我将对它们做一些事情来“打破”平局。那么如何找到包含最大值的索引并保持索引到值的关系呢?
我写了以下方法:
public static ArrayList<Integer> maxIndices(ArrayList<Integer> numArrayList) {
// ???
return numArrayList;
}
public static void removeElement(ArrayList<Integer> numArrayList, int index) {
numArrayList.remove(index);
}
public static int getMaxValue(ArrayList<Integer> numArrayList) {
int maxValue = Collections.max(numArrayList);
return maxValue;
}
public static int getIndexOfMaxValue(ArrayList<Integer> numArrayList, int maxVal) {
int index = numArrayList.indexOf(maxVal);
return index;
}