Вот пример:< /p>
Код: Выделить всё
public class Person {
private String firstName;
private Integer age;
public Person(String firstName, Integer age) {
this.firstName = firstName;
this.age = age;
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person("John", 25);
Person p2 = new Person("Lisa", 54);
Person p3 = new Person("Mike", 61);
Person p4 = new Person("John", 61);
Person p5 = new Person("John", 13);
List
people1 = new ArrayList();
people1.add(p1);
people1.add(p2);
people1.add(p3);
people1.add(p4);
people1.add(p5);
Person p6 = new Person("John", 88);
Person p7 = new Person("Lisa", 66);
Person p8 = new Person("Mike", 71);
List people2 = new ArrayList();
people2.add(p6);
people2.add(p7);
people2.add(p8);
for (Person p : people2) {
people1.stream()
.filter(person -> Boolean.parseBoolean(person.firstName = p.firstName))
.findFirst()
.ifPresent(person -> people1.remove(person));
} // This is what i've tried, but it doesn't work and seems very inefficient
System.out.println(people1);
}
Желаемый результат: список, содержащий
[*]Джон, 61 год.
[*]Ивана, 13 лет
Подробнее здесь: https://stackoverflow.com/questions/770 ... ot-the-ent