1 34 package smallsql.database; 35 36 40 class LongList { 41 42 private int size; 43 private long[] data; 44 45 LongList(){ 46 this(16); 47 } 48 49 50 LongList(int initialSize){ 51 data = new long[initialSize]; 52 } 53 54 55 final int size(){ 56 return size; 57 } 58 59 60 final long get(int idx){ 61 if (idx >= size) 62 throw new IndexOutOfBoundsException ("Index: "+idx+", Size: "+size); 63 return data[idx]; 64 } 65 66 67 final void add(long value){ 68 if(size >= data.length ){ 69 resize(size << 1); 70 } 71 data[ size++ ] = value; 72 } 73 74 75 final void clear(){ 76 size = 0; 77 } 78 79 80 private final void resize(int newSize){ 81 long[] dataNew = new long[newSize]; 82 System.arraycopy(data, 0, dataNew, 0, size); 83 data = dataNew; 84 } 85 86 } 87 | Popular Tags |