23.1 MapDemo
23.1 MapDemo
collections;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
System.out.println(map1);
map1.put("Anita", 23);
System.out.println(map1);
names.remove("Anita");
System.out.println(map1);
userProfile.put("John", profile);
userProfile.put("Raj", profile);
System.out.println("userProfile: " + userProfile);
list.add(2);
System.out.println(map.get(list));
s.setName("John");
System.out.println(map2.get(s));
}
/*
* Demo:
* 1. See output with and without commenting get() calls
* 2. See output when accessOrder=false with get() calls. get calls do
not have any influence
* 3. Finally, change object type from LRUCache to LinkedHashMap and see
output.
* All 5 mappings will be printed as removeEldestEntry would return
false by default
*/
private static void lruCacheTest() {
System.out.println("\n\nInside lruCacheTest ...");
Map<String, String> lruCache = new LRUCache<>(16, 0.75f, true);
lruCache.put("a", "A");
lruCache.put("b", "B");
lruCache.put("c", "C");
System.out.println(lruCache);
lruCache.put("d", "D");
System.out.println(lruCache);
lruCache.put("e", "E");
System.out.println(lruCache);
}
private static void treeMapDemo() {
System.out.println("\n\nInside treeMapDemo ...");
TreeMap<String, Integer> map1 = new TreeMap<>();
map1.put("John", 25);
map1.put("Raj", 29);
map1.put("Anita", 23);
System.out.println(map1);
// Invoked by put and putAll after inserting a new entry into the map
public boolean removeEldestEntry(Map.Entry eldest) {
return size() > MAX_ENTRIES;
// return false; // same as normal linked hash map
}
}
class Student {
private int id;
private String name;