迭代哈希映射

Ara*_*rav 0 java string hashmap

我有一个声明为私有HashMap的hashmap testMessages = null;

我将把字符串值存储在从oracle表中检索到的hashmap的key和value部分.

我不关心hashmap键.我想单独检索hashmap值并检查字符串变量filename是否以哈希映射值之一为前缀,如果相同则返回true.我想确保哈希映射值不为空且为空.

function(string filename){..

循环通过hashmap值

检查变量文件名是否以其中一个hashmap值为前缀,如果是,则返回true,否则返回false}

hashmap示例:key1,prod key2,test key3,dummy
filename示例:test123_20012010.csv

应该返回true,因为文件名以其中一个hashmap值为前缀

我该怎么做?

pol*_*nts 5

for (String prefix : map.values()) {
   if (filename.startsWith(prefix)) {
      return true;
   }
}
return false;
Run Code Online (Sandbox Code Playgroud)

应该注意,这是最坏情况下地图中条目数的线性时间.如果你filename想要检查多个,那么预处理前缀并构建类似patricia trie和其他快速字典类数据结构的东西要好得多.