Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.LinkedHashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. import java.util.stream.Collectors;
  6.  
  7. public class Combine {
  8.  
  9. public static class Item {
  10. String name;
  11. long value;
  12.  
  13. public String getName() {
  14. return name;
  15. }
  16.  
  17. public long getValue() {
  18. return value;
  19. }
  20. }
  21.  
  22. public List<Item> combine(List<Item> defaults, List<Item> overrides) {
  23. Map<String, Item> overridesByName = overrides.stream()
  24. .collect(Collectors.toMap(Item::getName,
  25. i -> i,
  26. (older, newer) -> newer,
  27. LinkedHashMap::new));
  28.  
  29. return defaults.stream()
  30. .map(i -> overridesByName.getOrDefault(i.getName(), i))
  31. .collect(Collectors.toCollection(ArrayList::new));
  32. }
  33.  
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement