按索引比较 List<Integer>

ste*_*eOS 5 java loops for-loop compare arraylist

    List<Integer> listOne= new ArrayList<>();
    listOne.add(10);
    listOne.add(2);
    listOne.add(3);

    //Second Array

    List<Integer> listTwo= new ArrayList<>();
    listTwo.add(3);
    listTwo.add(7);
    listTwo.add(1);
Run Code Online (Sandbox Code Playgroud)

我想比较两个 List 并指出listOnelistTwo取决于哪个值更大

[10, 2, 3] compare to [3, 7, 1]
if listOne.get(0) > listTwo.get(0) //add one point to listOne

if listOne.get(0) < listTwo.get(0) //add one point to listTwo
Run Code Online (Sandbox Code Playgroud)

这是我测试过的代码

    static List<Integer> compareList(List<Integer> a, List<Integer> b) {
        ArrayList<Integer> output = new ArrayList<>();
        output.add(0, 0);
        output.add(1, 0);
        int out = output.get(0);
        int out2 = output.get(1);
        for (int i = 0; i < a.size(); i++) {
            if (a.get(i) > b.get(i)) {
                out = out + 1;
            } 
            if (a.get(i) < b.get(i)) {
                out2 = out2 + 1;
            } 
        }

        output.add(0, out);
        output.add(1, out2);
        return output;

    }
Run Code Online (Sandbox Code Playgroud)

它有效,但没有输出预期的答案

预期输出:2 1 输出:2 1 0 0

Era*_*ran 4

0您要向 中添加两个s,然后除了 s 之外,还要List在 的开头添加两个数字。List0

删除这些语句:

output.add(0, 0);
output.add(1, 0);
Run Code Online (Sandbox Code Playgroud)

并保持这些声明不变:

output.add(0, out);
output.add(1, out2);
Run Code Online (Sandbox Code Playgroud)

或者只是更改这些语句:

output.add(0, out);
output.add(1, out2);
Run Code Online (Sandbox Code Playgroud)

到:

output.set(0, out);
output.set(1, out2);
Run Code Online (Sandbox Code Playgroud)