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

Discussion

What will be the output of the program?

import java.util.*;

public class Listing27
{
    public static void main(String[] args)
    {
        Map<String, Integer> m = new HashMap<String, Integer>();
        m.put("a", 1); m.put("b", 2);
        m.keySet().remove("a");
        System.out.println(m);
    }
}

  • A.The program prints {a=1}
  • B.The program prints {a=1, b=2}
  • C.The program prints {b=2}
  • D.An UnsupportedOperationException is thrown.

Answer: C

keySet returns a view backed by the map rather than a copy, so removing a key through it removes the whole entry. The map is left with one entry. The view supports removal but not addition, since adding a key alone would have no value to attach.

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

Post your comment

Please log in or register to post a comment.