Jak filtrować tablicę w Javie?

Jak mogę filtrować tablicę w Javie?

Mam szereg obiektów, na przykład samochody:

Klasa:

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

Posługiwać się:

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

Teraz chcę filtrować szereg samochodów, zachowując tylko 4 drzwi i więcej:

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

Jak mam to zrobić?

Zanim zrobiłem to za pomocą wektora:

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

A potem zrobiłbym nową tablicę o rozmiarze wektora. Następnie ponownie zapętlę wektor i wypełnię nową tablicę. Wiem, że to bardzo duża procedura dla czegoś prostego.

Używam J2ME.

questionAnswers(7)

yourAnswerToTheQuestion