java – 检查String是否存在的高效数据结构
我正在编写一个程序,它将为数据结构添加越来越多的数字或唯一的字符串.一旦完成,我后来需要不断检查其中是否存在字符串.
如果我使用ArrayList,我相信检查某些指定字符串的存在会遍历所有项目,直到找到匹配的字符串(或到达结尾并返回false). 但是,使用HashMap我知道在常量时间我可以简单地将键用作String并返回任何非null对象,从而使此操作更快.但是,我并不热衷于填充HashMap,其值完全是任意的.是否存在使用散列函数的现成数据结构,但不需要放置值? 解决方法
正确,检查项目列表是列表条目数的线性.
您不必:Java提供了一个 您可以将所有字符串放在那里,然后在恒定时间内检查是否存在其他字符串; Set<String> knownStrings = new HashSet<String>(); ... // Fill the set with strings if (knownString.contains(myString)) { ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |