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
Next revision
Previous revision
java:interface_implementation [2017/03/31 14:13]
gthanos [LinkedStack]
java:interface_implementation [2019/04/05 17:20]
gthanos [LinkedStack]
Line 57: Line 57:
 </​code>​ </​code>​
  
-===== LinkedStack ​=====+===== ListStack ​=====
  
-<code java LinkedStack.java> +<code java ListStack.java> 
-class LinkedNode ​+import java.util.*;​ 
-  private ​Object o; +public ​class ListStack implements Stack 
-  private LinkedNode next;+  private ​ArrayList list;  ​
   ​   ​
-  public ​LinkedNode(LinkedNode nxt, Object e) { +  public ​ListStack() { 
-    ​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