Advertisement
Guest User

RecursiveList

a guest
Jun 26th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.43 KB | None | 0 0
  1. package structures;
  2.  
  3. import java.util.Iterator;
  4.  
  5. public class RecursiveList<Object> implements ListInterface<Object>{
  6.     Node head;
  7.     Node tail;
  8.     Node current;
  9.     public Iterator<Object> it;
  10.     int size;
  11.    
  12.     public RecursiveList(){
  13.         this.head = null;
  14.         this.tail = null;
  15.         this.size = 0;
  16.         this.it = this.iterator();
  17.     }
  18.     @Override
  19.     public Iterator<Object> iterator() {
  20.    
  21.         Iterator<Object> it = new Iterator<Object>(){
  22.            
  23.             Node n = head;
  24.             public int currentPosition = 0;
  25.             @Override
  26.             public boolean hasNext() {
  27.                 return n.getNext() != null;
  28.             }
  29.  
  30.             @Override
  31.             public Object next() {
  32.                 currentPosition++;
  33.                 return (Object) n.getNext();
  34.             }
  35.             public void reset(){
  36.                 this.n = head;
  37.                 this.currentPosition = 0;
  38.             }
  39.         };
  40.         return it;
  41.     }
  42.    
  43.        
  44.  
  45.    
  46.     @Override
  47.     public int size() {
  48.         return size;
  49.     }
  50.     @Override
  51.     public ListInterface insertFirst(Object elem) {
  52.         if(head != null){
  53.             size++;
  54.             Node n = new Node(elem,head);
  55.             head = n;
  56.             return this;
  57.         }
  58.         else{
  59.             head = new Node(elem);
  60.             tail = head;
  61.             size++;
  62.             return this;
  63.         }
  64.     }
  65.     @Override
  66.     public ListInterface insertLast(Object elem) {
  67.         if(head != null){
  68.             Node n = new Node(elem);
  69.             tail.setNext(n);
  70.             tail = n;
  71.             return this;
  72.         }
  73.         else{
  74.             head = new Node(elem);
  75.             tail = head;
  76.             size++;
  77.             return this;
  78.         }
  79.        
  80.     }
  81.     @Override
  82.     public ListInterface insertAt(int index, Object elem) {
  83.         it.reset();  // should reset the the iterator object
  84.        
  85.     }
  86.    
  87.     public Node getNode(int i){
  88.        
  89.        
  90.     }
  91.    
  92.    
  93.    
  94.     @Override
  95.     public Object removeFirst() {
  96.         // TODO Auto-generated method stub
  97.         return null;
  98.     }
  99.     @Override
  100.     public Object removeLast() {
  101.         // TODO Auto-generated method stub
  102.         return null;
  103.     }
  104.     @Override
  105.     public Object removeAt(int i) {
  106.         // TODO Auto-generated method stub
  107.         return null;
  108.     }
  109.     @Override
  110.     public Object getFirst() {
  111.         // TODO Auto-generated method stub
  112.         return null;
  113.     }
  114.     @Override
  115.     public Object getLast() {
  116.         // TODO Auto-generated method stub
  117.         return null;
  118.     }
  119.     @Override
  120.     public Object get(int i) {
  121.         // TODO Auto-generated method stub
  122.         return null;
  123.     }
  124.     @Override
  125.     public boolean remove(Object elem) {
  126.         // TODO Auto-generated method stub
  127.         return false;
  128.     }
  129.     @Override
  130.     public int indexOf(Object elem) {
  131.         // TODO Auto-generated method stub
  132.         return 0;
  133.     }
  134.     @Override
  135.     public boolean isEmpty() {
  136.         // TODO Auto-generated method stub
  137.         return false;
  138.     }
  139.  
  140.    
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement