/**
*
* @author Daniel
*
* @param <E>
*/
public class DynamicArray<E> {
Object[] vector;
public DynamicArray() {
vector = new Object[0];
}
//Devuelve el tamaño array
public int tamaño() {
return vector.length;
}
//Devuelve el valor con ese indice
public E obtener(int índice) {
final E e = (E)vector[índice];
return e ;
}
// Redimensiona arrays de String
public void agregar(E frase) {
Object aux[] = new Object[vector.length + 1];
for (int x = 0; x < vector.length; x++) {
aux[x] = vector[x];
}
aux[vector.length] = frase;
vector = aux;
}
// Borra en una posion indicada y redimensiona array de String
public void borrar(int posicion) {
if ((vector.length - 1) != posicion) {
for (int i = posicion; i < (vector.length - 1); i++) {
vector[i] = vector[i + 1];
}
}
Object aux[] = new Object[vector.length - 1];
for (int i = 0; i < aux.length; i++) {
aux[i] = vector[i];
}
vector = aux;
}
}
/**
*
* @author Daniel
*
*/
public class Prueba {
public static void main(String[] args) {
DynamicArray<Integer> a = new DynamicArray<Integer>();
//Añadimos en el array
for(int i=0;i<10;i++) {
a.agregar(i);
}
//Mostramos lo agregado
for (int i = 0; i<a.tamaño();i ++) {
System.out.println("Dentro: "+a.obtener(i));
}
//Borramos una posicion
a.borrar(1);
System.out.println("borrando...");
//Mostramos el array redimensionado desues de borrar
for (int i = 0; i<a.tamaño();i ++) {
System.out.println("Dentro: "+a.obtener(i));
}
}
}