import
java.util.Collection;
import
java.util.HashMap;
import
java.util.Iterator;
import
java.util.LinkedHashMap;
import
java.util.Map;
import
java.util.Map.Entry;
import
java.util.Set;
class
LinkedHashMapImplementation<K, V> {
private
LinkedHashMap<K, V> map;
public
LinkedHashMapImplementation()
{
map =
new
LinkedHashMap<K, V>();
}
public
LinkedHashMapImplementation(
Map<?
extends
K, ?
extends
V> map1)
{
map =
new
LinkedHashMap<K, V>(map1);
}
public
void
clear() { map.clear(); }
public
Object clone() {
return
map.clone(); }
public
boolean
containsKey(Object key)
{
return
map.containsKey(key);
}
public
boolean
containsValue(Object val)
{
return
map.containsValue(val);
}
public
Set<Map.Entry<K, V> > entrySet()
{
return
map.entrySet();
}
public
V get(Object key) {
return
map.get(key); }
public
Set<K> keySet() {
return
map.keySet(); }
public
V put(K key, V val) {
return
map.put(key, val); }
public
void
putAll(Map<?
extends
K, ?
extends
V> map1)
{
map.putAll(map1);
}
public
V remove(Object key) {
return
map.remove(key); }
public
int
size() {
return
map.size(); }
public
Collection<V> values() {
return
map.values(); }
}
public
class
GFG {
public
static
void
main(String[] arg)
{
LinkedHashMapImplementation<String, Integer> student
=
new
LinkedHashMapImplementation<>();
student.put(
"Anuj"
,
500
);
student.put(
"Ashok"
,
460
);
student.put(
"Aakansha"
,
495
);
System.out.println(
"Size of the LinkedHashMap: "
+ student.size());
System.out.println();
System.out.println(
"The key value pairs of LinkedHashMap:"
);
for
(Map.Entry<String, Integer> entry :
student.entrySet()) {
System.out.println(entry.getKey() +
" : "
+ entry.getValue());
}
System.out.println();
System.out.println(
"LinkedHashMap contains Aakansha: "
+ student.containsKey(
"Aakansha"
));
System.out.println();
System.out.println(
"LinkedHashMap contains 450: "
+ student.containsValue(
450
));
System.out.println();
student.clear();
System.out.println(
"Size of the LinkedHashMap: "
+ student.size());
}
}