【发布时间】:2011-01-06 03:34:58
【问题描述】:
如何在 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。
【问题讨论】:
-
你的容器是数组而不是向量真的那么重要吗?因为向量听起来很适合使用。
-
好吧,我不能在我的环境中使用 Vector
汽车。所以我必须一直做演员表,这会变得很困难......
标签: java java-me arrays vector filter