package chapter17.nine; import java.util.AbstractMap; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.util.function.Function; public class SlowMap extends AbstractMap { private List keys=new ArrayList(); private List values=new ArrayList(); public V put(K key,V value){ V oldValue=get(key); if(!keys.contains(key)){ keys.add(key); values.add(value); }else{ values.set(keys.indexOf(key), value); } return oldValue; } public V get(Object key){ if(!keys.contains(key)){ return null; }else{ return values.get(keys.indexOf(key)); } } public V getOrDefault(Object key, V defaultValue) { // TODO Auto-generated method stub return null; } public void forEach(BiConsumer action) { // TODO Auto-generated method stub } public void replaceAll( BiFunction function) { // TODO Auto-generated method stub } public V putIfAbsent(K key, V value) { // TODO Auto-generated method stub return null; } public boolean remove(Object key, Object value) { // TODO Auto-generated method stub return false; } public boolean replace(K key, V oldValue, V newValue) { // TODO Auto-generated method stub return false; } public V replace(K key, V value) { // TODO Auto-generated method stub return null; } public V computeIfAbsent(K key, Function mappingFunction) { // TODO Auto-generated method stub return null; } public V computeIfPresent(K key, BiFunction remappingFunction) { // TODO Auto-generated method stub return null; } public V compute(K key, BiFunction remappingFunction) { // TODO Auto-generated method stub return null; } public V merge(K key, V value, BiFunction remappingFunction) { // TODO Auto-generated method stub return null; } @Override public Set> entrySet() { // TODO Auto-generated method stub Set> set=new HashSet>(); Iterator ki=keys.iterator(); Iterator vi=values.iterator(); while(ki.hasNext()){ set.add(new MapEntry(ki.next(),vi.next())); } return set; } public static void main(String[] args) { SlowMap m=new SlowMap(); m.put("a", "v"); System.out.println(m); System.out.println(m.get("BULGARIA")); System.out.println(m.entrySet()); } }