Как я могу выполнить свою часть кода, используя карту и матч?

evasi0n:

Я хочу, чтобы выполнить эту часть моего кода, так как ранее я имел 3, если для соответствующего матча как

    if (matcher1.find()) {
        myMap.put(matcher1.group(1), matcher1.group(2)
    }
    if (matcher2.find()) {
        myMap.put(matcher2.group(1), matcher2.group(2)
    }
    if (matcher3.find()) {
        myMap.put(matcher3.group(1), matcher3.group(2)
    }

и я хочу знать, могу ли я обволакиваю этот 3 матч в одном, если и поставить на моей карте с соответствующей согласованью :) как:

for (int i = 0; i < result.size(); i++) {
            Matcher matcher1= patternRecordType.matcher(result.get(i));
            Matcher matcher2 = patternCustomerAreaRecordType.matcher(result.get(i));
            Matcher match3 = patternTotal.matcher(result.get(i));

            if (matcher1.find() || matcher2.find() || matcher3.find()) {
                myMap.put(matcherX.group(1), matcherX.group(2));
            }

        }
Amongalen:

Это не возможно заменить 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, то я хотел бы рассмотреть что-то вроде этого.

рекомендация

отhttp://43.154.161.224:23101/article/api/json?id=373221&siteId=1