lots of new files
[IRC.git] / Robust / src / ClassLibrary / Vector.java
1 public class Vector {
2     Object[] array;
3     int size;
4     int capacityIncrement;
5
6     public Vector() {
7         capacityIncrement=0;
8         size=0;
9         array=new Object[10];
10     }
11
12     public void clear() {
13         size=0;
14         array=new Object[10];
15     }
16
17     public int indexOf(Object elem) {
18         return indexOf(elem, 0);
19     }
20
21     public int indexOf(Object elem, int index) {
22         for(int i=index;i<size;i++) {
23             if (elem.equals(array[i]))
24                 return i;
25         }
26         return -1;
27     }
28
29     public Object elementAt(int index) {
30         if (index<0 || index >=size) {
31             System.printString("Illegal Vector.elementAt");
32             return null;
33         }
34         return array[index];
35     }
36
37     public void setElementAt(Object obj, int index) {
38         if (index>=0 && index <size)
39             array[index]=obj;
40         else
41             System.printString("Illegal setElementAt");
42     }
43
44     private ensureCapacity(int minCapacity) {
45         if (minCapacity>array.length) {
46             int newsize;
47             if (capacityIncrement<=0)
48                 newsize=array.length*2;
49             else
50                 newsize=array.length+capacityIncrement;
51             if (newsize<minCapacity)
52                 newsize=minCapacity;
53             Object [] newarray=new Object[minCapacity];
54             for(int i=0;i<size;i++)
55                 newarray[i]=array[i];
56             array=newarray;
57         }
58     }
59
60     public int size() {
61         return size;
62     }
63
64     public Enumeration elements() {
65         System.printString("Vector.elements not implemented");
66     }
67
68     public void addElement(Object obj) {
69         if (size==array.length) {
70             ensureCapacity(size+1);
71         }
72         array[size++]=obj;
73     }
74
75     public void removeElementAt(int index) {
76         if (index<0||index>=size)
77             System.printString("Illegal remove");
78         for(int i=index;i<(size-1);i++) {
79             array[i]=array[i+1];
80         }
81         size--;
82     }
83 }