¿Cómo puedo filtrar una matriz en Java?¿Cómo se filtra una matriz en Java?
Tengo una gran variedad de objetos, por ejemplo los coches:
Clase:
public class Car{
public int doors;
public Car(int d){
this.doors = d;
}
}
Uso:
Car [] cars = new Cars[4];
cars[0] = new Car(3);
cars[1] = new Car(2);
cars[2] = new Car(4);
cars[3] = new Car(6);
Ahora quiero filtrar el conjunto de vehículos, manteniendo sólo 4 puertas y más:
for(int i = 0; i<cars.length; i++){
if(cars[i].doors > 4)
//add cars[i] to a new array
}
}
¿Cómo debo hacer esto?
Antes lo hacía con un vector:
Vector subset = new Vector();
for(int i = 0; i<cars.length; i++){
if(cars[i].doors > 4)
//add cars[i] to a new array
subset.addElement(cars[i]);
}
}
Y entonces me gustaría hacer una nueva matriz con el tamaño del vector. Luego volvería a recorrer el vector y llenaría la nueva matriz. Sé que este es un procedimiento muy grande para algo simple.
Estoy usando J2ME.
¿Es realmente tan importante que sus contenedores sean matrices y no vectores? Porque los vectores suenan como lo correcto para usar. – zneak
Bueno, no puedo usar automóviles Vector en mi entorno. Así que tengo que hacer moldes todo el tiempo, lo cual puede ser difícil ... –
hsmit