Given:



import java.util.ArrayList;
import java.util.List;

public class Whizlabs{
    public static void main(String[] args){
        List<Integer> list = new ArrayList<>();
        list.add(21); list.add(15);
        list.add(30); list.add(11);
        list.add(2);
        //insert here
        System.out.println(list);
    }
}

Which inserted at line 11, will provide the following output?

[21, 15, 11]

A.

list.removeIf(e > e % 2 != 0);

B.

list.removeIf(e -> e % 2 == 0);

C.

list.remove(e -> e % 2 == 0);

D. None of the above.

題解

選項A,會移除整數集合中,所有不能整除2的項目。所以集合中的元素會只剩下「30」和「2」。

選項B,會移除整數集合中,所有能整除2的項目。所以集合中的元素會剩下「21」、「15」和「11」。

選項C,remove方法的用法錯誤。

選項D,由於選項B就是答案,因此錯誤。