gpt4 book ai didi

java - 检查 List 是否包含唯一字符串的最快方法

转载 作者:IT老高 更新时间:2023-10-28 13:52:30 25 4
gpt4 key购买 nike

基本上我有大约 1,000,000 个字符串,对于每个请求,我必须检查一个字符串是否属于列表。

我担心性能,那么最好的方法是什么? 数组列表?哈希?

最佳答案

最好的办法是使用 HashSet并通过 contains() 方法检查集合中是否存在字符串。 HashSet 是为通过使用对象方法 hashCode()equals() 快速访问而构建的。 HashSet 的 Javadoc 声明:

This class offers constant time performance for the basic operations (add, remove, contains and size),

哈希集 stores objects in hash buckets也就是说,hashCode 方法返回的值将决定一个对象存储在哪个桶中。这样,HashSet 必须通过equals() 方法被简化为同一个哈希桶中的其他对象。

要有效地使用 HashSets 和 HashMaps,您必须遵守 equalshashCode 契约(Contract)概述 in the javadoc .在 java.lang.String 的情况下,已经实现了这些方法来执行此操作。

关于java - 检查 List<String> 是否包含唯一字符串的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3307549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com