Помогите разобраться с лямбда выражением

Есть лист products и удаление по имени, подскажите пожалуйста что такое product!

products.removeIf(product -> product.getName().equals("Какое-то имя"));

Ответы (2 шт):

Автор решения: Zhihar

product - это переменная

лямбда-выражение можно было бы записать как:

function(product) {
    return product.getName().equals("Какое-то имя");
}

т.е. для каждого элемента из массива products будет вызвана функция указанная выше в качестве параметра в которую передается этот элемент массива

и если функция вернет true, т.е. если будет выполнено условие product.getName().equals("Какое-то имя"), то элемент будет удален из массива

т.е. по сути на выходе получится список элементов у которых некоторый параметр name равен "Какое-то имя"

→ Ссылка
Автор решения: Алексей Шиманский

Под капотом метод removeIf использует цикл. И, если не углубляться, то будет обычный цикл foreach

for(Product product : products) {
    // тут логика
}

Вот product - элемент списка на каждой итерации.

→ Ссылка