RLPark 1.0.0
Reinforcement Learning Framework in Java

LTUArray.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.algorithms.representations.ltu.internal;
00002 
00003 import java.io.Serializable;
00004 import java.util.Arrays;
00005 
00006 import rlpark.plugin.rltoys.algorithms.representations.ltu.units.LTU;
00007 
00008 public class LTUArray implements Serializable {
00009   private static final long serialVersionUID = -255407595168336962L;
00010   private LTU[] array = new LTU[] {};
00011   private int nbActive = 0;
00012 
00013   public void add(LTU ltu) {
00014     if (nbActive == array.length) {
00015       int newLength = array.length > 0 ? array.length * 2 : 1;
00016       LTU[] previousArray = array;
00017       array = new LTU[newLength];
00018       System.arraycopy(previousArray, 0, array, 0, previousArray.length);
00019     }
00020     array[nbActive] = ltu;
00021     nbActive++;
00022   }
00023 
00024   public void remove(LTU ltu) {
00025     int index;
00026     for (index = 0; index < array.length; index++)
00027       if (array[index] == ltu)
00028         break;
00029     System.arraycopy(array, index + 1, array, index, array.length - index - 1);
00030     nbActive--;
00031   }
00032 
00033   public LTU[] array() {
00034     if (array.length > nbActive)
00035       array = Arrays.copyOf(array, nbActive);
00036     return array;
00037   }
00038 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark