使用地图执行查找

时间:2018-12-29 14:44:34

标签: java

import java.util.*;

public class MapLookup {

    public void searchMap(){

        School x = new School("Rybeka");

        Map<School,School.Student> check = new HashMap<School,School.Student>();

        check.put(x,School.createNewStudent("Joy"));
        check.put(x,School.createNewStudent("Bob"));
        check.put(x,School.createNewStudent("Kate"));

        System.out.println(check.containsValue("Bob"));
    }
}

当我尝试执行查找时,它返回错误的表达式

1 个答案:

答案 0 :(得分:1)

为您带来true的回报是

System.out.println(check.containsValue(School.createNewStudent("Kate")));

因为这是您最后在地图中作为value放置的对象,并且将覆盖映射到同一键的其他值。

注意:假设School.createNewStudent("Kate")将返回一个覆盖Object.equals的类的对象,以使用该“ Kate”参数。