所以,我有一个地图(字符串,字符串),我收到这个地图可以有大约 600-800 个条目。我的任务是根据键(常量字符串)仅检索大约 60-120(基于某些逻辑)这些对。
现在我已经创建了一个所需键的列表,我正在迭代我收到的映射并将所需的对拉出到另一个映射中并传递它。这可行,但代码看起来很糟糕。
肯定有更好的方法来做到这一点。有什么建议么?
我想过使用包含而不是匹配键,但我的要求是完全匹配。是的,我读过有关使用 RegEx 进行精确匹配的信息,因此可以将其用作最后的手段。
我需要帮助: 1. 存储所需密钥的方法比将它们放在列表中更好。这个键列表将是一个常数。将 60-120 个字符串硬编码到 List 中看起来很可怕。2. 最快(时间)的方式来比较所述列表并拉出所需的配对。
我的代码:
List <String> keysToCheck = new ArrayList<String>();
keysToCheck.add("attrib1");
...
keysToCheck.add("attribN");
Map<String, String> newMap = new HashMap<String, String>();
for (String key : keysToCheck) {
if(mapRcvd.containsKey(key)) {
newMap.put(key, mapRcvd.get(key));
}
}
我正在寻找更快的解决方案,因为这只是大型应用程序的一小部分。我很擅长编写大量代码来实现这一目标。
弑天下
相关分类