Comment filtrer un tableau en Java?

Comment puis-je filtrer un tableau en Java?

J'ai un tableau d'objets, par exemple les voitures:

Classe:

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

Utilisation:

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

Maintenant, je veux filtrer le tableau de voitures, de ne garder que 4 portes et plus:

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

Comment dois-je faire cela?

Avant je l'ai fait avec un Vecteur:

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

Et puis je ferais un tableau avec la taille du Vecteur. Alors je boucle sur le vecteur de nouveau et remplissez le tableau. Je sais que c'est un très grand procédure pour quelque chose de simple.

Je suis en utilisant J2ME.

Est-il vraiment si important à vos contenants sont des tableaux et non des vecteurs? Parce que les vecteurs qu'un son, comme la bonne chose à utiliser.
Eh bien, je ne peux pas utiliser Vector <Voiture> voitures dans mon environnement. Donc, je dois faire des moulages de tous les temps, ce qui peut être difficile...

OriginalL'auteur hsmit | 2010-01-17