¿Cómo puedo realizar mi parte del código en el mapa y el partido?

evasi0n:

Quiero realizar esta parte de mi código, porque Yo antes tenía 3 SI para las correspondientes partido 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)
    }

y quiero saber si puedo EnGlobe este partido de 3 en uno si y poner en mi mapa con el correspondiente matcher :) 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:

No es posible reemplazar el "si" 3 con una sola. Tenga en cuenta que en el primer caso, en una sola iteración puede entrar en 3,2,1 ó 0 "si" bloques resultantes en el que tiene 0-3 elementos añadidos al mapa. Si combina las 3 condiciones en una sola "si" se entra en el "si" único en el mejor, lo que resulta en a lo sumo 1 elemento añadido en el mapa.

Sin embargo, se podría crear una colección de todos los comparadores y luego realizar la correspondencia y la adición de cada uno de ellos. Se vería algo como esto:

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

Por sólo 3 comparadores sería complicar el código, pero si usted tiene más de 5 comparadores diferentes entonces yo consideraría algo como esto.

Supongo que te gusta

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