JAVA_IIBRARY Telegram 1864
Представим, что тебе нужно посчитать максимальную зарплату сотрудников по отделам на Java. Код мог бы выглядеть так:

List<Employee> employees = new ArrayList<>();
Map<String, Long> maxMap = new HashMap<>();

for (Employee employee : employees) {
Long maxSalaryForDepartment = maxMap.get(employee.department);
if (maxSalaryForDepartment == null || maxSalaryForDepartment < employee.salary) {
maxMap.put(employee.department, employee.salary);
}
}


Но этот цикл можно записать гораздо короче:

for (Employee employee : employees) {
maxMap.merge(employee.department, employee.salary, Math::max);
}


Метод Map.merge() работает так:

Первый параметр — это ключ, по которому ты хочешь добавить или обновить значение в Map.

Второй параметр — новое значение, которым нужно обновить сохранённое.
Если для этого ключа значение отсутствует (или там null), Map просто сохраняет новое значение.

Третий параметр — это функция. Если в Map уже есть значение для этого ключа, функция вызывается с двумя аргументами: старым и новым значением. То, что вернёт эта функция, и будет записано как новое значение для ключа.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥113



tgoop.com/Java_Iibrary/1864
Create:
Last Update:

Представим, что тебе нужно посчитать максимальную зарплату сотрудников по отделам на Java. Код мог бы выглядеть так:

List<Employee> employees = new ArrayList<>();
Map<String, Long> maxMap = new HashMap<>();

for (Employee employee : employees) {
Long maxSalaryForDepartment = maxMap.get(employee.department);
if (maxSalaryForDepartment == null || maxSalaryForDepartment < employee.salary) {
maxMap.put(employee.department, employee.salary);
}
}


Но этот цикл можно записать гораздо короче:

for (Employee employee : employees) {
maxMap.merge(employee.department, employee.salary, Math::max);
}


Метод Map.merge() работает так:

Первый параметр — это ключ, по которому ты хочешь добавить или обновить значение в Map.

Второй параметр — новое значение, которым нужно обновить сохранённое.
Если для этого ключа значение отсутствует (или там null), Map просто сохраняет новое значение.

Третий параметр — это функция. Если в Map уже есть значение для этого ключа, функция вызывается с двумя аргументами: старым и новым значением. То, что вернёт эта функция, и будет записано как новое значение для ключа.

👉 Java Portal

BY Java Portal | Программирование


Share with your friend now:
tgoop.com/Java_Iibrary/1864

View MORE
Open in Telegram


Telegram News

Date: |

Click “Save” ; Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.” On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." Telegram offers a powerful toolset that allows businesses to create and manage channels, groups, and bots to broadcast messages, engage in conversations, and offer reliable customer support via bots. Add up to 50 administrators
from us


Telegram Java Portal | Программирование
FROM American