gpt4 book ai didi

java - 我试图循环对象数组以返回匹配的索引

转载 作者:行者123 更新时间:2023-11-30 06:13:43 25 4
gpt4 key购买 nike

我正在尝试编写一个类,其中包含一个方法,该方法根据对对象属性之一的搜索返回对象索引列表。

我有一个 Car 数组,其中包含 5 个具有三个不同属性 Color、Make、Model 的对象。

public class Car {
String color;
String make;
String model;

public Car(String color, String make, String model){
this.color = color;
this.make = make;
this.model = model;
}

Car[] myCars =new Car[5];

myCars[0]=new Car("red", "lexus", "rc350");
myCars[1]=new Car("white", "honda", "accord");
myCars[2]=new Car("red", "honda", "accord");
myCars[3]=new Car("black", "ford", "mustang");
myCars[4]=new Car("gray", "lincoln", "navigator");

现在我试图循环遍历这个数组,以便我可以搜索给定的属性,例如颜色为红色,并且我希望将索引 0 和 2 添加到新列表中。

这样的事情就是我正在尝试和思考做的事情,希望它能返回一个 ArrayList 或“0”和“2”数组:

public class SearchObject{
List <Integer> getObject (String propertyName, String propertyValue)

searchobject. getObject(“color”,“red”);

我对 Java 和一般编程很陌生,非常感谢任何帮助。提前致谢。

最佳答案

在 Java 中通过字符串搜索对象有点奇怪。您可以创建一个示例实体并填写要搜索的变量。类似于下面的代码:

public class Car {
String color;
String make;
String model;

public Car(){

}

public Car(String color, String make, String model) {
this.color = color;
this.make = make;
this.model = model;
}

public boolean equals(Car car){
if(car.color!= null && !car.color.equals(this.color) )
return false;
else if(car.make!= null && !car.make.equals(this.make) )
return false;
else if(car.model!= null && !car.model.equals(this.model) )
return false;

return true;
}

public static void main(String[] args) {

Car[] myCars = new Car[5];

myCars[0] = new Car("red", "lexus", "rc350");
myCars[1] = new Car("white", "honda", "accord");
myCars[2] = new Car("red", "honda", "accord");
myCars[3] = new Car("black", "ford", "mustang");
myCars[4] = new Car("gray", "lincoln", "navigator");

Car sampleCar = new Car();
sampleCar.color = "red";

List<Car> filteredCars = Arrays.stream(myCars).filter(i -> i.equals(sampleCar)).collect(Collectors.toList());
}
}

关于java - 我试图循环对象数组以返回匹配的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49680265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com