由于某种原因,我不能让我的迭代工作。我有两个班,汽车和车库。
我在Garage类中有Map<Integer, Cars> cars = newHashMap<>();
,我想遍历Map中的所有Car对象,寻找“Ford”的值,然后将其打印出来。
任何帮助/解释都会很棒,因为非常新手。
private String model;
model = "Ford";
public void carMake() {
for (Cars eachCar : cars.values()) {
if (cars.containsValue(model)) {
System.out.println("It is a ford");
}
}
}
答案 0 :(得分:1)
尝试一下,假设Car类有一个getModel()函数返回汽车Model(Ford):
public void carMake() {
for(Cars eachCar : cars.values()) {
if("Ford".equals(eachCar.getModel()) {
System.out.println("It is a ford");
}
}
}
在您的代码中,每个交互都会检查您的地图(包含Cars值)是否包含您的模型(即字符串)。即使您认为您的模型变量是具有模型值=&#34;福特&#34;的汽车,您每次互动都会检查整个地图,而不是当前值。