2003/06/16 08:03:15
[org.ibex.core.git] / src / org / xwt / util / Vec.java
index d4b45f7..23f196f 100644 (file)
@@ -10,7 +10,7 @@ import java.io.*;
  *  java.util.ArrayList.
  *  @see java.util.Vector
  */
-public class Vec implements Serializable {
+public final class Vec implements Serializable {
     
     private Object[] store;
     private int size = 0;
@@ -42,10 +42,14 @@ public class Vec implements Serializable {
     }
     
     public void addElement(Object o) {
-        if (size >= store.length) grow();
+        if (size >= store.length - 1) grow();
         store[size++] = o;
     }
 
+    public Object peek() {
+       return lastElement();
+    }
+
     public Object elementAt(int i) {
         return store[i];
     }
@@ -55,6 +59,13 @@ public class Vec implements Serializable {
         return store[size - 1];
     }
 
+    public void push(Object o) { addElement(o); }
+    public Object pop() {
+       Object ret = lastElement();
+       if (size > 0) store[size--] = null;
+       return ret;
+    }
+
     public int size() { return size; }
 
     public void setSize(int newSize) {