data_structures_free

This commit is contained in:
2014-03-24 18:47:50 +01:00
commit 6f92828c96
65 changed files with 4738 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
package net.datastructures;
import java.util.Iterator;
/**
* An interface for a dictionary storing (key-value) pairs.
* @author Michael Goodrich
*/
//begin#fragment Dictionary
public interface Dictionary<K,V> {
//end#fragment Dictionary
/** Returns the number of entries in the dictionary. */
//begin#fragment Dictionary
public int size();
//end#fragment Dictionary
/** Returns whether the dictionary is empty. */
//begin#fragment Dictionary
public boolean isEmpty();
//end#fragment Dictionary
/** Returns an entry containing the given key, or <tt>null</tt> if
* no such entry exists. */
//begin#fragment Dictionary
public Entry<K,V> find(K key)
throws InvalidKeyException;
//end#fragment Dictionary
/** Returns an iterator containing all the entries containing the
* given key, or an empty iterator if no such entries exist. */
//begin#fragment Dictionary
public Iterable<Entry<K,V>> findAll(K key)
throws InvalidKeyException;
//end#fragment Dictionary
/** Inserts an item into the dictionary. Returns the newly created
* entry. */
//begin#fragment Dictionary
public Entry<K,V> insert(K key, V value)
throws InvalidKeyException;
//end#fragment Dictionary
/** Removes and returns the given entry from the dictionary. */
//begin#fragment Dictionary
public Entry<K,V> remove(Entry<K,V> e)
throws InvalidEntryException;
//end#fragment Dictionary
/** Returns an iterator containing all the entries in the dictionary. */
//begin#fragment Dictionary
public Iterable<Entry<K,V>> entries();
}
//end#fragment Dictionary