如何在Java中过滤数组?

如何过滤Java中的数组?

我有一系列对象,例如汽车:

类:

public class Car{

public int doors;

public Car(int d){

this.doors = d;

}

}

用:

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

现在我要过滤汽车阵列,只保留4门或更多:

for(int i = 0; i<cars.length; i++){

if(cars[i].doors > 4)

//add cars[i] to a new array

}

}

我应该怎么做?

在使用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]);

}

}

然后,我将使用Vector的大小创建一个新数组。然后,我将再次遍历向量并填充新数组。我知道这对于简单的事情来说是一个非常大的过程。

我正在使用J2ME。

回答:

看到ArrayList不在J2ME中,但是基于文档,它确实有一个Vector。如果该Vector类不同于J2SE

Vector(如本文档所示),那么以下代码可能会起作用:

Vector carList = new Vector();

for(int i = 0; i<cars.length; i++){

if(cars[i].doors > 4)

carList.addElement(cars[i]);

}

}

Car[] carArray = new Car[carList.size()];

carList.copyInto(carArray);

以上是 如何在Java中过滤数组? 的全部内容, 来源链接: utcz.com/qa/431578.html

回到顶部