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

Discussion

What will be the output of the program?

import java.util.*;

public class Sample83
{
    public static void main(String[] args)
    {
        List<String> src = new ArrayList<String>(
            Arrays.asList("x", "y"));
        List<String> dst = new ArrayList<String>(
            Arrays.asList("1", "2", "3"));
        Collections.copy(dst, src);
        System.out.println(dst);
    }
}

  • A.An IndexOutOfBoundsException is thrown.
  • B.The program prints [x, y]
  • C.The program prints [x, y, 3]
  • D.The program prints [1

Answer: C

copy overwrites the leading elements of the destination and leaves the rest alone, so the third entry survives. It requires the destination to be at least as long as the source and throws IndexOutOfBoundsException otherwise; it never grows the list.

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

Post your comment

Please log in or register to post a comment.