MATSIM
EventArray.java
Go to the documentation of this file.
1 package org.matsim.core.events;
2 
3 import java.util.Arrays;
4 
6 
7 public class EventArray {
8  private Event[] array;
9  private int size;
10 
11  public EventArray(int capacity) {
12  this.array = new Event[capacity];
13  }
14 
15  public EventArray() {
16  this(32);
17  }
18 
19  public void add(Event element) {
20  if (size == array.length) {
21  array = Arrays.copyOf(array, array.length + array.length/2);
22  }
23  array[size] = element;
24  size++;
25  }
26 
27  public void removeLast() {
28  array[size - 1] = null;
29  size--;
30  }
31 
32  public int size() {
33  return size;
34  }
35  public Event get(int index) {
36  assert index < size;
37  assert array[index] != null;
38  return array[index];
39  }
40 
41  public void clear() {
42  for (int i = 0; i < size; i++) {
43  array[i] = null;
44  }
45  size = 0;
46  }
47 
48  public Event[] array() {
49  return array;
50  }
51 }