java - 忽略大小写影响字符集

标签 java ignore-case

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

添加两个节点时,例如:"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”。

您可以通过以下任一方式使其工作:

关于java - 忽略大小写影响字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47677753/

相关文章:

java - Java 中的目录扫描器

java - 在 Windows 上绑定(bind) IPv6 服务器套接字

python,re.search/re.split 用于看起来像标题的短语,即以大写字母开头

awk - 无论大小写如何计算出现次数?

SQL-搜索字符串时忽略大小写

java - 为 Kafka 编译自定义生产者

java - Spring/WebLogic - 失败时不重新传递 JMS 消息

JAVA:与实例引用混淆

c# - 如何在 C# 中对字符串使用 StringComparison?

python 正则表达式匹配大小写选项