覆盖Hashmap的等于<string,string> </string,string>

时间:2014-04-07 05:51:24

标签: java override equals

我有Hashmap,如何覆盖hashmap的equals方法?

感谢。

4 个答案:

答案 0 :(得分:0)

如果你想要你能做到:

HashMap<String, String> map = new HashMap<String, String>(){
    @Override
    public boolean equals(Object o) {
        // TODO comparison here
        return super.equals(o);
    }
};
map.equals(new HashMap<String, String>());

答案 1 :(得分:0)

在HashMap中,equals()方法已被覆盖。如果要覆盖对象类equals() 方法eclipse快捷键---&gt; alt + shift + s + v

选择等于方法点击确定。

答案 2 :(得分:0)

您需要创建一个扩展Hashmap

的类
public class NewHashMap<K,V> extends HashMap<K, V>

并覆盖

中的equals方法
@Override
public boolean equals(Object o) {
    // Your code
}

祝你好运

答案 3 :(得分:0)

或者更好的是,在某个地方创建一个单独的方法来比较您想要的特定哈希图。例如:

public class HashMapComparator {
    boolean static areMapsEqual(HashMap<String, String> aMap, HashMap<String, String> bMap) {
        ....
    }
}

然后使用它:

boolean mapsAreEqual = HashMapComparator.areMapsEqual(firstMap, secondMap);

虽然您应该知道这是一个不正确的解决方案,以防您在搜索或排序这些HashMaps列表时使用equals方法。我假设情况并非如此。