Actualización de parámetro en la lista1 <object> en lista2 <object> mediante el uso de Java 8

Raju Sidda:

Tengo dos cuentas lista de objetos y salarios y necesito iterar la lista de objetos. Si la identificación coincide con lo que necesito para actualizar el objeto de cuenta.

Tengo lista1 y lista2 estos dos objetos son diferentes tipo de objeto. tenemos que actualizar el objeto (param) en lista1 con objeto lista2 (param).

Ejemplo

if(accounts !=null && salaries!=null) { // checking for nulls
    for (Account obj1 : accounts) {// iterating objects
        for (Salary obj2 : salaries) {
            String id = ibj2.getId();
            if (id.equals(obj1.getId())) {// id checks  
                obj1.setxxxx(obj2.getxxxx());// set the value
            }
        }
    }
}  

Lo intenté:

list1.stream().flatMap(x -> list2 .stream() .filter(y -> x.getId().equals(y.getId())));
Sharon Ben Asher:

La operación final, obj1.setxxxx(obj2.getxxxx());requiere tener tanto obj1y obj2. que dicta el artículo que se transmite desde ambas listas

list1.stream()
    .forEach(obj1 -> 
        list2.stream()
            .filter(obj2 -> obj1.getId().equals(obj2.getId()))
            .findFirst()
            .ifPresent(obj2 -> obj1.setxxxx(obj2.getxxxx()))
    );

Supongo que te gusta

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