如果我们不重写hashCode(),默认情况下它如何计算自定义对象的hashCode?
即
class TrieNode {
Character letter;
TrieNode parent;
Map<Character, TrieNode> children;
boolean isEndOfWord;
TrieNode(Character letter, TrieNode parent, boolean isEndOfWord) {
this.letter = letter;
this.parent = parent;
this.isEndOfWord = isEndOfWord;
children = new HashMap<Character, TrieNode>();
}
}
用法:
Set<TrieNode> set = new HashSet<TrieNode>();
TrieNode trieNode = new TrieNode('c', parentNode, true);
set.add(trieNode);
注:
澄清问题:
-
默认情况下,此HashSet如何计算此自定义的hashCode
对象
-
在Java文档中的何处可以找到它?
附加:
我试图在Java文档中找到它,但没有找到。
我试着找到这些地方:
-
HashSet.class
-
抽象集类
-
对象类
-
系统类