java:interface_implementation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
java:interface_implementation [2017/03/31 14:13]
gthanos [LinkedStack]
java:interface_implementation [2017/03/31 15:10]
gthanos [LinkedStack]
Line 59: Line 59:
 ===== LinkedStack ===== ===== LinkedStack =====
  
-<code java LinkedStack.java> +<code java ArrayListStack.java> 
-class LinkedNode ​+import java.util.*;​ 
-  private ​Object o; +public ​class ArrayListStack implements Stack 
-  private LinkedNode next;+  private ​ArrayList list;  ​
   ​   ​
-  public ​LinkedNode(LinkedNode nxt, Object e) { +  public ​ArrayListStack() { 
-    ​next nxt; +    ​list new ArrayList();
-    o = e; +
-  } +
-   +
-  public LinkedNode(Object e+
-    this(null, e); +
-  } +
-   +
-  public Object getElement() { return o; } +
-  public LinkedNode getNext() { return next; } +
-   +
-  public void setElement(Object e) { o = e; } +
-  public void setNext(LinkedNode node) { next = node; } +
-+
- +
-public class LinkedStack implements Stack { +
-  int size; +
-  LinkedNode head; +
- +
-  public LinkedStack() { +
-    size=0; +
-    head = null;+
   }   }
   ​   ​
   public int size() {   public int size() {
-    return size;+    return ​list.size();
   }   }
   ​   ​
-  public void push(Object o) { +  public void push(Object o) {   
-    ​// the following is OK even if head == null. +    ​list.add(o);
-    head = new LinkedNode(head, o)+
-    size++;+
   }   }
   ​   ​
   public Object pop() {   public Object pop() {
-    ​LinkedNode pN = head; +    ​return list.remove(list.size()-1);
-    head = head.getNext()+
-    size--; +
-    return pN.getElement();+
   }   }
   ​   ​
   public Object top() {   public Object top() {
-    return ​head;+    return ​list.get(list.size()-1);
   }   }
   ​   ​
   public String toString() {   public String toString() {
     String str = "​@@@@@@@@ - Stack - @@@@@@@@\n";​     String str = "​@@@@@@@@ - Stack - @@@@@@@@\n";​
-    ​LinkedNode curr = head; +    ​for(Object o : list
-    while(curr != null+      str += o.toString()+"​\n"​;
-      str += curr.getElement().toString();​+
     return str + "​@@@@@@@@@@@@@@@@@@@@@@@@@@@\n";​     return str + "​@@@@@@@@@@@@@@@@@@@@@@@@@@@\n";​
-  }+  }  
 } }
 </​code>​ </​code>​
java/interface_implementation.txt · Last modified: 2019/04/05 17:20 by gthanos