Machine-translated by Google. Questions are authored in English.
Top

Discussion

What will be the output of the program?

import java.util.*;

public class Trial101
{
    public static void main(String[] args)
    {
        List<Integer> l = new ArrayList<Integer>(
            Arrays.asList(1, 2, 3));
        l.removeAll(Collections.singletonList(2));
        l.add(0, 0);
        System.out.println(l + " " + l.indexOf(3));
    }
}

  • A.The program prints [0, 1, 3] 2
  • B.The program prints [1, 3, 0] 1
  • C.The program prints [0, 1, 2, 3] 3
  • D.The program prints [0, 1, 3] 3

Answer: A

removeAll takes out the 2, leaving [1, 3], and inserting 0 at the front gives [0, 1, 3]. indexOf then reports the position of the VALUE 3, which is 2, not the value itself. Confusing an index with the element at it is the trap in the wrong answers.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.