Creating and Initializing Maps


Creating and Initializing Maps

Introduction

Maps stores key/value pairs, where each key has an associated value. Given a particular key, the map can look up the associated value very quickly.

Maps, also known as associate array, is an object that stores the data in form of keys and values. In Java, maps are represented using Map interface which is not an extension of the collection interface.

Way 1:

/*J2SE < 5.0*/
Map map = new HashMap();
map.put("name", "A");
map.put("address", "Malviya-Nagar");
map.put("city", "Jaipur");
System.out.println(map);
 
Way 2:

/*J2SE 5.0+ style (use of generics):*/
Map<String, Object> map = new HashMap<>();
map.put("name", "A");
map.put("address", "Malviya-Nagar");
map.put("city", "Jaipur");
System.out.println(map);
 
Way 3:

Map<String, Object> map = new HashMap<String, Object>(){{
	put("name", "A");
	put("address", "Malviya-Nagar");
	put("city", "Jaipur");
}};
System.out.println(map);
 
Way 4:

Map<String, Object> map = new TreeMap<String, Object>();
map.put("name", "A");
map.put("address", "Malviya-Nagar");
map.put("city", "Jaipur");
System.out.println(map);
 
Way 5:

//Java 8
final Map<String, String> map =
Arrays.stream(new String[][] {
	{ "name", "A" },
	{ "address", "Malviya-Nagar" },
	{ "city", "jaipur" },
}).collect(Collectors.toMap(m -> m[0], m -> m[1]));
System.out.println(map);
 
Way 6:

//This way for initial a map in outside the function
final static Map<String, String> map;
static
{
	map = new HashMap<String, String>();
	map.put("a", "b");
	map.put("c", "d");
}
 
Way 7: Creating an immutable single key-value map.

//Immutable single key-value map
Map<String, String> singletonMap = Collections.singletonMap("key", "value");
LinkedHashSetPlease note, that it is impossible to modify such map.

Any attemts to modify the map will result in throwing the UnsupportedOperationException.

//Immutable single key-value pair
Map<String, String> singletonMap = Collections.singletonMap("key", "value");
singletonMap.put("newKey", "newValue"); //will throw UnsupportedOperationException
singletonMap.putAll(new HashMap<>()); //will throw UnsupportedOperationException
singletonMap.remove("key"); //will throw UnsupportedOperationException
singletonMap.replace("key", "value", "newValue"); //will throw
UnsupportedOperationException
//and etc

Basic Programs