* 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;
return store[size - 1];
}
+ public void push(Object o) { addElement(o); }
+ public Object pop() {
+ Object ret = lastElement();
+ store[size--] = null;
+ return ret;
+ }
+
public int size() { return size; }
public void setSize(int newSize) {
if (newSize < 0) throw new RuntimeException("tried to set size to negative value");
- if (newSize > size) grow(newSize * 2);
+ if (newSize > store.length) grow(newSize * 2);
if (newSize < size)
for(int i=newSize; i<size; i++)
store[i] = null;
out[i] = store[i];
}
+ public void fromArray(Object[] in) {
+ setSize(in.length);
+ for(int i=0; i<size; i++)
+ store[i] = in[i];
+ }
+
public void removeElementAt(int i) {
if (i >= size || i < 0) throw new RuntimeException("tried to remove an element outside the vector's limits");
for(int j=i; j<size - 1; j++)