¿Cómo comparar varios elementos de un ArrayList en otro ArrayList en la posición específica?

Nrendrari:

Antecedentes: hay listados de productos página y tengo que agarrar todos el nombre del producto (incluyendo fuera de stock de producto) y luego tener que verificar que todo fuera de stock de productos están en el final.

Problema: he navegado toda la página y a guardar los nombres de los productos en un ArrayList.

Digamos que list1y los contenidos son -

[instant bcaa, vegan bcaa, complete bcaa energy™, branched chain amino acid (bcaa) tablets 1000mg, endure™, branched chain amino acids (bcaa), instant leucine, leucine tablets 1000mg, complete intra-workout™, leucine, bcaa jelly mix, complete hydration drink™, informed bcaa™, instant bcaa cocktail bundle]

Ahora tengo otra lista que tienen solamente no disponible Producto

list2 y los contenidos son -

[informed bcaa™, instant bcaa cocktail bundle]

Tengo que hacer seguro de si lista1 tiene todos los elementos list2 en el final de misma secuencia

nbrooks:

Este problema se esencialmente intentar validar que una lista dada A, extremos con una segunda lista B.

Se podría aplicar esto determinando la longitud de la lista B, dando marcha atrás que muchos espacios desde el final de la lista A, y luego hacer una comparación por pares de las dos listas:

public static boolean listEndsWith(List<?> A, List<?> B) {
    if (B.size() > A.size()) {
        return false;
    }

    for (int i = A.size() - B.size(), j = 0; i < A.size(); i++, j++) {
        if (!A.get(i).equals(B.get(j))) {
            return false;
        }
    }

    return true;
}

Supongo que te gusta

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