package com.nisum.java9Features.FactoryMethodsForUnmodifiableCollections;

import java.sql.*;
import java.util.*;

import static java.util.Map.entry;

public class UnmodifiableMap {
    public static void main(String[] args) {
        Map<String,String> map=Map.of("A","Apple","B","Banana","C","Cat","D","Dog");
        System.out.println(map);
       /* Map<String,String> map1=Map.of("A","Apple","A","Banana","C","Cat","D","Dog");
        System.out.println(map1); // IllegalArgumentException*/

        /*Map<String,String> map2=Map.of("A",null,"B","Banana"); // NullPointerException
        System.out.println(map2);*/

        Map.Entry<String,String> e1= entry("A","Apple");
        Map.Entry<String,String> e2= entry("B","Banana");
        Map.Entry<String,String> e3= entry("C","Cat");
        Map<String,String> m=Map.ofEntries(e1,e2,e3);
        System.out.println(m);

       /* Map<String,String> map3=Map.ofEntries(entry(null,"Apple"),entry("B","Banana")); // NullPointerException
        System.out.println(map3);*/


       /* Map<String,String> map4=Map.ofEntries(entry("A","Apple"),entry("B","Banana"));
        map4.put("C","Cat"); // UnsupportedOperationException
        map4.remove("A");//UnsupportedOperationException*/

    }

}