Wpis z mikrobloga

@m4tus: @Matius_: Bo chce zrobić "przelew". Wybieram z arrayListy obiekt który ma nr konta 2137, zmniejszam saldo o zadaną wartość a następnie wybieram obiekt, który jest obiorcą i zwieszam jego saldo.
@makzy: to robisz tak:

TwójObiekt wyszukaneKonto = listaKont.stream().filter(konto -> 2137 == konto.getNumer()).findFirst();

Jeśli takie konto istnieje to przypisze Ci do zmiennej.

Jeśli jeszcze nie ogarniasz streamow to najlepiej będzie to zrobić prostym forem. Czyli:

TwójObiekt konto;
for(int i = 0; i < lista.size(); i++) {
if(lista.get(i).getNumer == 2137) {
konto = lista.get(i);
break;
}
}

Oczywiście pętla for each ładniej wyglada ale nie wiem czy ją znasz :)
@Matius_: Na pewno do nich przysiądę :) Chciałem tylko poradzić sobie z problemem w prosty sposób, który znam/rozumiem :D
Dzięki wielkie. Zaraz ogarnę te streamy i może zamienie tego fora :D
@makzy: przy okazji, nie wiem z jakiej javy korzystasz (oby 8), ale zamiast robić klasycznego for eacha możesz wywołać forEach bezpośrednio na liście.

konta.forEach(konto -> {
if (nazwaNadawcy.equals(konto.getName())) {
konto.setSaldo(konto.getSaldo() - kwotaPrzelewu);
} else if (nrKonta.equals(konto.getNrKonta())) {
konto.setSaldo(konto.getSaldo() + kwotaPrzelewu);
}
});