Guest User

Untitled

a guest
Feb 10th, 2014
1,672
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.HashMap;
  2. import java.util.Iterator;
  3. import java.util.Map;
  4. import java.util.Map.Entry;
  5.  
  6. /**
  7.  * Set of elements with get method.
  8.  * @author Lukáš Závitkovský
  9.  */
  10. public class MySet<T> implements Iterable{
  11.    
  12.     public MySet(){
  13.         map = new HashMap<T,T>();
  14.     }
  15.    
  16.     public void add(T obj){
  17.         map.put(obj, obj);
  18.     }
  19.    
  20.     public boolean isEmpty(){
  21.         return map.isEmpty();
  22.     }
  23.    
  24.     public void remove(T o){
  25.         map.remove(o);
  26.     }
  27.    
  28.     public boolean contains(T o){
  29.         return map.containsKey(o);
  30.     }
  31.    
  32.     public T get(T obj){
  33.         return map.get(obj);
  34.     }
  35.    
  36.     @Override
  37.     public Iterator<T> iterator(){
  38.         return new MyIterator();
  39.     }
  40.    
  41.     private final Map<T, T> map;
  42.    
  43.     // Iterator implementation for MySet
  44.     private class MyIterator implements Iterator<T>{
  45.  
  46.         public MyIterator(){
  47.             it = map.entrySet().iterator();
  48.         }
  49.        
  50.         @Override
  51.         public boolean hasNext() {
  52.             return it.hasNext();
  53.         }
  54.  
  55.         @Override
  56.         public T next() {
  57.             return it.next().getValue();
  58.         }
  59.  
  60.         @Override
  61.         public void remove() {
  62.             it.remove();
  63.         }
  64.        
  65.         private Iterator<Entry<T,T>> it;
  66.        
  67.     }
  68.    
  69. };
RAW Paste Data