41 lines
736 B
Java
41 lines
736 B
Java
package net.abhinavsarkar.algorist;
|
|
|
|
import java.util.Optional;
|
|
|
|
public interface Map<K, V> extends Iterable<Map.Entry<K, V>>
|
|
{
|
|
void put(K key, V val);
|
|
|
|
Optional<V> get(K key);
|
|
|
|
void remove(K key);
|
|
|
|
default boolean contains(K key) {
|
|
return this.get(key).isPresent();
|
|
}
|
|
|
|
class Entry<K2, V2> {
|
|
private final K2 key;
|
|
private final V2 val;
|
|
|
|
public Entry(K2 key, V2 val) {
|
|
this.key = key;
|
|
this.val = val;
|
|
}
|
|
|
|
public K2 getKey()
|
|
{
|
|
return key;
|
|
}
|
|
|
|
public V2 getVal()
|
|
{
|
|
return val;
|
|
}
|
|
|
|
public String toString() {
|
|
return "<" + key + "," + val + ">";
|
|
}
|
|
}
|
|
}
|