我正在尝试创建一个允许您传入ArrayList并返回max元素的函数。我一直无法找到正确的解决方案,因为传入的数据类型不是原始的。我也试过将ArrayList转换为ArrayList但没有成功。到目前为止,这是我的(不正确的)代码:
public static void maxArrayListValue(ArrayList<int[]> arrayList) {
int maxArrayListValue = arrayList.get(0); // set first arrayList element as highest
for (int index=1; index < arrayList.size(); index++) { // cycle through each arrayList element
if (maxArrayListValue < arrayList.get(index)){ // if new element is > than old element
maxArrayListValue = arrayList.get(index); // replace with new maxValue
maxArrayListIndex = index; // record index of max element
}
}
return maxArrayListValue;
}
任何意见都会得到赞赏。
答案 0 :(得分:1)
你的方法没有返回任何东西,我想你想迭代每个数组中的值。像,
public static int maxArrayListValue(List<int[]> arrayList) {
int maxVal = Integer.MIN_VALUE;
for (int[] arr : arrayList) {
for (int v : arr) {
if (v > maxVal) {
maxVal = v;
}
}
}
return maxVal;
}
答案 1 :(得分:1)
您不需要循环。只需使用java.util.Collections.max(arrayList)
;