Невозможно заменить ваши 3 "если" одним. Обратите внимание, что в первом случае вы можете ввести 3,2,1 или 0 блоков "если" в одном целом числе, в результате чего на карту будет добавлено 0-3 элемента. Если вы объедините все 3 условия в одно «если», вы введете «если» только в лучшем случае, в результате чего на карту будет добавлено не более 1 добавленного элемента.
Однако вы можете создать коллекцию всех Matchers, а затем выполнить сопоставление и сложение для каждого из них. Это выглядело бы примерно так:
List<Matcher> matchers = new ArrayList<>();
Matcher matcher1= patternRecordType.matcher(result.get(i));
Matcher matcher2 = patternCustomerAreaRecordType.matcher(result.get(i));
Matcher matcher3 = patternTotal.matcher(result.get(i));
matchers.add(matcher1);
matchers.add(matcher2);
matchers.add(matcher3);
for (Matcher matcher : matchers){
if (matcher.find()) {
myMap.put(matcher.group(1), matcher.group(2));
}
}
Только для 3 Matchers было бы слишком сложно код, но если бы у вас было более 5 различных Matchers, я бы рассмотрел что-то вроде этого.