Como posso realizar minha parte do código usando mapa e de jogo?

evasi0n:

Eu quero executar esta parte do meu código porque antes eu tinha 3 IF para Match correspondente como

    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)
    }

e eu quero saber se eu posso englobar este 3 jogo em um caso e colocar no meu mapa com a correspondência correspondente :) como:

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:

Não é possível substituir seus 3 "se" com um único. Note-se que, no primeiro caso, em uma única interação que você pode entrar em 3,2,1 ou 0 "se" blocos resultantes em ter 0-3 elementos adicionados ao mapa. Se você juntar todas as 3 condições em um único "se" você vai entrar no "se" apenas um na melhor das hipóteses, resultando em no máximo 1 elemento adicionado no mapa.

No entanto, você pode criar uma coleção de todos os Matchers e, em seguida, executar a correspondência e adicionando para cada um deles. Seria algo parecido com isto:

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));
    }
}

Para apenas 3 Matchers seria complicar o código, mas se você tiver mais de 5 Matchers diferentes, então eu consideraria algo como isto.

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=373224&siteId=1
Recomendado
Clasificación