如何在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