Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.96 KB | None | 0 0
  1. public interface Container {
  2.     Iterator getIterator();
  3.     void add(Object o);
  4. }
  5.  
  6. public interface Iterator {
  7.     boolean hasNext();
  8.     Object next();
  9. }
  10.  
  11. public class NameRepository implements Container{
  12.  
  13.     private String names[];
  14.     private int added = 0;
  15.    
  16.     public NameRepository(int size) {
  17.         names = new String[size];
  18.     }
  19.    
  20.     @Override
  21.     public void add(Object o) {
  22.         if (added >= names.length) {
  23.             String[] temp = new String[names.length + 1];
  24.             for (int i = 0; i < names.length; i++) {
  25.                 temp[i] = names[i];
  26.             }
  27.             names = temp;
  28.         }
  29.         names[added] = (String) o;
  30.         added++;
  31.     }
  32.    
  33.     @Override
  34.     public Iterator getIterator() {
  35.         return new NameIterator();
  36.     }
  37.  
  38.     private class NameIterator implements Iterator{
  39.  
  40.         int position = 0;
  41.        
  42.         @Override
  43.         public boolean hasNext() {
  44.             return position < names.length;
  45.         }
  46.  
  47.         @Override
  48.         public String next() {
  49.             if (this.hasNext()) {
  50.                 return names[position++];
  51.             }
  52.             return null;
  53.         }
  54.        
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement