忽略大小写影响字符集

Ignore case affect character set

我创建了一个二叉搜索树,我想让它尽可能高效。添加节点时,我使用 equalsIgnoreCase() 将其与 String 进行比较(以防止重复)。

添加两个节点时,例如:"BOB""bob"

例如:

正在将 "BOB" 转换为 ASCII = 066 079 066

"bob" 转换为 ASCII= 098 111 098

你可以看到 "BOB""bob" 由于大写字母而具有不同的值。

无论大小写如何,equalsIgnoreCase() 都会将其作为一个条目接受吗?

这有助于提高效率吗?

这很可能会破坏您的二叉树。 "bob" 和 "BOB" 之间的字典顺序中有许多值(甚至是常见值)。例如:任何以小写 "a" 或大写字母 "C" 或以上字母开头的内容。如果它们中的任何一个在你的树中,那么 "BOB" 将在该节点的一个方向上移动 ("BOB" < "Dog") 而 "bob" 将在另一个方向上移动 ("bob" > "Dog")。这意味着您甚至没有机会比较 "bob" 和 "BOB."

您可以通过以下任一方式让它工作: