RLPark 1.0.0
Reinforcement Learning Framework in Java
|
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 }