Java : Searching Ids from hashset or String

标签 java string search collections hashset

我有大量 ID,可以将其存储在 HashSet 或 String 中 即

String strIds=",1,2,3,4,5,6,7,8,.,.,.,.,.,.,.,1000,";
    Or
HashSet<String> setOfids = new HashSet<String>();
setOfids.put("1");
setOfids.put("2");
.
.
.
setOfids.put("1000");

此外,我想对 ID 执行搜索

我应该使用哪个来获得更好的性能(更快且内存效率更高)

1) strIds.indexOf("someId");
    or
2) setOfids.contains("someId");

请告诉我任何其他方式,这样我就可以做同样的事情。 感谢您查看这里:)

最佳答案

哈希表查找是“恒定时间”,即它不会随着 id 的数量而增长。

但是字符串中所有 id 的紧凑字符串需要最少的内存。

所以,请做出决定:最快的检索还是最少的存储!

关于Java : Searching Ids from hashset or String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24325494/

相关文章:

regex - 使用 grep 搜索文件

java - 将数据放入列表中,然后将其值插入数据库

java - javax.inject.Inject 和 com.google.inject.Inject 有什么区别?

swift - 在 Swift 中的整个应用程序中使用相同的搜索方法

python - Pandas DataFrame 将列表存储为字符串 : How to convert back to list

java - 如何在java中提取特定字符串之间的字符串。使用 itext 添加提取的字符串以使其成为粗体

php - 递归搜索并删除数组?

java - 我的团队不主张

java - 在基于 GWT 的 Web 应用程序中查看 3D STEP .stp CAD 模型

python - 正则表达式两组匹配所有内容直到模式