Вы можете просто использовать Collectors.toMap()
для достижения этого:
Map<String, Integer> result = list.stream()
.collect(Collectors.toMap(Inventory::getRefCode, Inventory::getMin, (a, b) -> a));
Это сохраняет первое значение, если у вас есть несколько ключей. Если вы хотите сохранить последний, просто используйте (a, b) -> b
вместо (a, b) -> a
.
Если вам нужно, чтобы элементы были в том же порядке, что и список, просто используйте LinkedHashMap
:
Map<String, Integer> result = list.stream()
.collect(Collectors.toMap(Inventory::getRefCode, Inventory::getMin, (a, b) -> a, LinkedHashMap::new));