Java 使用IF遍历映射值
由于某些原因,我无法让我的迭代工作。我有两门课,汽车课和车库课。 我有Java 使用IF遍历映射值,java,hashmap,iteration,Java,Hashmap,Iteration,由于某些原因,我无法让我的迭代工作。我有两门课,汽车课和车库课。 我有Map cars=newHashMap()在Garage类中,我希望遍历Map中的所有汽车对象,查找“Ford”的值,然后将其打印出来 任何帮助/解释都会像新手一样棒 private String model; model = "Ford"; public void carMake() { for (Cars eachCar : cars.values()) { if (cars.containsVa
Map cars=newHashMap()代码>在Garage类中,我希望遍历Map中的所有汽车对象,查找“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");
}
}
}
试一试,假设Car类有一个getModel()函数返回汽车模型(Ford):
在代码中,每个交互都会检查地图(包含Cars值)是否包含模型(即字符串)。即使您假设您的模型变量是一辆模型值为“Ford”的汽车,每次交互您都会检查整个地图,而不是当前值。您是否应该问一些类似的问题,如(eachCar.model().equals(model))
?模型
是一个字符串
,您的地图值是Cars
您甚至没有使用循环变量eachCar
。为什么?显示Cars
类并展开您的描述,否则,您的问题是不明确的。假设类Car{String model;},您应该检查eachCar.getModel()是否等于“Ford”
public void carMake() {
for(Cars eachCar : cars.values()) {
if("Ford".equals(eachCar.getModel()) {
System.out.println("It is a ford");
}
}
}