繁体   English   中英

字符串搜索的集合类型

[英]Collection type for String search

我有一个字符串,需要在字符串集合中搜索。 我需要搜索所需字符串的多种表示形式(原始表示形式,修剪的,UTF-8编码的,非ASCII字符编码的)。 馆藏规模将达到数千个。

我试图找出最适合用于该集合的表示形式,以便获得最佳性能:

  1. ArrayList-遍历数组并检查是否有任何元素匹配任何Strings表示形式
  2. HashMap-检查地图是否包含我的任何Strings表示形式
  3. 任何其他?

一般来说,HashMap(或任何其他基于哈希表的数据结构)更适合“查找”练习。 原因很简单,这些数据结构支持在固定时间内查找(与集合大小无关)。 但是...在您的方案(对集合的单个查询)中,使用HashMap而不是ArrayList可能不会获得任何性能改进。 原因:

  1. 将数据放入HashMap将需要一些时间。 时间不多,但可以与初始列表的一整遍相提并论。
  2. 您的集合非常小-迭代5000多个元素仅需几毫秒(或更快?)。 由于只需要“搜索”一次,因此您将不会节省太多时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM