Como filtrar uma matriz em Java?

Como posso filtrar uma matriz em Java?

Eu tenho uma variedade de objetos, por exemplo carros:

Classe:

public class Car{
    public int doors;
    public Car(int d){
        this.doors = d;
    }
}

Usar:

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);

Agora eu quero filtrar a matriz de carros, mantendo apenas 4 portas e mais:

for(int i = 0; i<cars.length; i++){
    if(cars[i].doors > 4)
         //add cars[i] to a new array
    }
}

Como devo fazer isso?

Antes de fazer isso com um vetor:

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]);
    }
}

E então eu faria uma nova matriz com o tamanho do vetor. Então, eu repetiria o vetor novamente e preencheria a nova matriz. Eu sei que este é um procedimento muito grande para algo simples.

Estou usando o J2ME.

questionAnswers(7)

yourAnswerToTheQuestion