Код: Выделить всё
public class User {
private int id;
Set
phones = new HashSet();
public Set setPhones(Set phones) {
return this.phones = phones;
}
public Collection getPhones() {
return this.phones;
}
Код: Выделить всё
public class Phone {
private int id;
private String value;
public String getValue() {
return value;
}
Обычный код:
Код: Выделить всё
public User findByPhone1(String number) {
var users = findAll();
User user = null;
if (users != null) {
for (User u : users) {
var phones = u.getPhones();
if (phones != null) {
for (Phone p : phones) {
if (p.getValue().equals(number)) {
user = u;
}
}
}
}
}
return user;
}
Код: Выделить всё
public User findByPhone(String number) {
var list = findAll();
return var user = list.stream()
.filter(u -> u.getPhones().stream()
.filter(p -> p.getValue().equals(number)))
.findFirst();
}
Подробнее здесь: https://stackoverflow.com/questions/700 ... g-a-stream