作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何在 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 大小相同的新数组。然后我会再次遍历 vector 并填充新数组。我知道对于一些简单的事情来说这是一个非常大的过程。
我正在使用 J2ME。
最佳答案
编辑: 看到 ArrayList 不在 J2ME 中,但根据文档,它确实有一个 Vector。如果该 Vector 类不同于 J2SE Vector(如 this documentation indicates ),那么以下代码可能会起作用:
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 - 如何在 Java 中过滤数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2082449/
我是一名优秀的程序员,十分优秀!