在整数数组的Arraylist中查找max元素

时间:2014-10-13 01:21:29

标签: java arrays arraylist

我正在尝试创建一个允许您传入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;
}

任何意见都会得到赞赏。

2 个答案:

答案 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);