Implement MyUnsortedTableMap class using the PositionalList. import net.datastru
ID: 3606710 • Letter: I
Question
Implement MyUnsortedTableMap class using the PositionalList.
import net.datastructures.AbstractMap;
import net.datastructures.Entry;
import net.datastructures.LinkedPositionalList;
import net.datastructures.PositionalList;
public class MyUnsortedTableMap<K, V> extends AbstractMap<K,V>{
private PositionalList<MapEntry<K,V>> table = new LinkedPositionalList<>();
@Override
public int size() {
// TODO Auto-generated method stub
return 0;
}
@Override
public V get(K key) {
// TODO Auto-generated method stub
return null;
}
@Override
public V put(K key, V value) {
// TODO Auto-generated method stub
return null;
}
@Override
public V remove(K key) {
// TODO Auto-generated method stub
return null;
}
@Override
public Iterable<Entry<K, V>> entrySet() {
// TODO Auto-generated method stub
return null;
}
}
Explanation / Answer
import java.util.Iterator;
import net.datastructures.AbstractMap;
//import net.datastructures.AbstractMap.MapEntry;
import net.datastructures.Entry;
import net.datastructures.LinkedPositionalList;
import net.datastructures.PositionalList;
import net.datastructures.Position;
public class MyUnsortedTableMap<K, V> extends AbstractMap<K,V>{
private PositionalList<MapEntry<K,V>> table = new LinkedPositionalList<>();
@Override
public int size() {
// TODO Auto-generated method stub
return 0;
}
@Override
public V get(K key) {
// TODO Auto-generated method stub
Iterator<MapEntry<K, V>> i = table.iterator();
while(i.hasNext()) {
MapEntry<K,V> k = i.next();
if(k.getKey().equals(key))
return k.getValue();
}
return null;
}
@Override
public V put(K key, V value) {
// TODO Auto-generated method stub
MapEntry<K,V> k = new MapEntry<K, V>(key, value);
table.addLast(k);
return value;
}
@SuppressWarnings("unchecked")
@Override
public V remove(K key) {
// TODO Auto-generated method stub
V value = get(key);
MapEntry<K,V> k = new MapEntry<K,V>(key, value);
return table.remove((Position<net.datastructures.AbstractMap.MapEntry<K, V>>) k).getValue();
}
@Override
public Iterable<Entry<K, V>> entrySet() {
// TODO Auto-generated method stub
Iterator<MapEntry<K, V>> i = table.iterator();
Iterable<Entry<K, V>> iterable = (Iterable<Entry<K, V>>)(i);
return iterable;
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.