搜索字符串的最快方法?

时间:2017-10-10 17:55:28

标签: java

检查特定字母/数字是否出现在字符串中的最快方法是什么?以及多少次?例如:

我让用户写点东西并得到" Test020301423" (ofc我将该数据存储在字符串变量中)。现在我要计算多少次" 0"出现在字符串中。什么是最快/最好的方法呢?

1 个答案:

答案 0 :(得分:0)

我假设您要在字符串中搜索不同的字符以检查可用性和事件。如果是这样,您可以执行以下操作:

  1. 构建一个Map<Character, Integer>,您可以将字符串的每个字符存储为键,将出现的值存储为值。要构建此映射,您需要遍历字符串的每个字符。因此,构建地图需要O(n)次。
  2. 现在,对于每次搜索,您只需检查地图中是否有任何特定字符,如果存在,则查看值(出现次数)。每次搜索都需要O(1)