Итак, у меня есть карта (строка, строка), которую я получаю, эта карта может содержать около 600-800 записей.Моя задача - получить только около 60-120 (на основе некоторой логики) этих пар на основе ключей (константных строк).
Сейчас я создал список требуемых ключей, я выполняю итерациюКарта, которую я получаю, и вытаскиваю нужные пары в другую карту и передаю ее дальше.Это работает, но код выглядит ужасно.
Конечно, должен быть лучший способ сделать это.Любые предложения?
Я думал об использовании вместо соответствующих ключей содержит, но мое требование для точных совпадений.Да, я читал об использовании RegEx для точных совпадений, чтобы его можно было использовать в качестве крайней меры.
Что мне нужно для помощи: 1. Лучший способ хранить требуемые ключи, чем иметь их в списке.Этот список ключей будет постоянным.Наличие списка из 60-120 строк, жестко закодированных в список, выглядит ужасно.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));
}
}
Я ищу решения, которые были бы быстрее, так как это было быочень маленькая часть большого приложения.Мне хорошо, что для этого нужно написать много кода.