package com.junerking.particle;
import java.util.ArrayList;
public abstract class OneClassPool<T> {
private ArrayList<T> objs;
public OneClassPool() {
objs = new ArrayList<T>();
}
protected abstract T allocate();
public T get() {
int s = objs.size();
if (0 != s) {
return objs.remove(s - 1);
} else {
return allocate();
}
}
public void free(T obj) {
objs.add(obj);
}
public int size() {
return objs.size();
}
public void clear() {
objs.clear();
}
}