Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- public class Combine {
- public static class Item {
- String name;
- long value;
- public String getName() {
- return name;
- }
- public long getValue() {
- return value;
- }
- }
- public List<Item> combine(List<Item> defaults, List<Item> overrides) {
- Map<String, Item> overridesByName = overrides.stream()
- .collect(Collectors.toMap(Item::getName,
- i -> i,
- (older, newer) -> newer,
- LinkedHashMap::new));
- return defaults.stream()
- .map(i -> overridesByName.getOrDefault(i.getName(), i))
- .collect(Collectors.toCollection(ArrayList::new));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement