У меня есть Hashmap, который содержит объект Customer в качестве ключа и целое число продуктов в качестве значения.
Я хочу получить объект клиента с наименьшим количеством продуктов из этой хэш-карты.
Я попробовал 2 способа, используя поток, но всегда кажется, что я получаю случайный объект, а не объект с наименьшим значением int.
Кто-нибудь может помочь?
Map<Customer, Integer> customerMap = new HashMap<>();
for (Customer customer:customers) {
customerMap.put(customer, customer.getProducts().size());
}
customerMap.entrySet().stream()
.sorted(Map.Entry.comparingByValue(Comparator.naturalOrder()))
.findFirst().get().getKey()
customerMap.entrySet().stream()
.min(Map.Entry.comparingByValue(Integer::compareTo))
.get().getKey()