Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用IF遍历映射值_Java_Hashmap_Iteration - Fatal编程技术网

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");
        }
    }
}