如果我们不覆盖 hashCode(),它如何默认为自定义对象计算 hashCode?
IE
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);
笔记:
- 如果我们不覆盖“hashCode()”。
澄清问题:
- 默认情况下,这个 HashSet 如何计算这个自定义对象的 hashCode?
- 在 Java 文档中的哪里可以找到它?
补充:
我试图在 Java 文档中找到它,但没有得到它。
我试图找到这些地方:
- HashSet.class
- 抽象集类
- 对象类
- 系统类