Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.LinkedHashMap;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.stream.Collectors;
- import java.util.stream.Stream;
- public class p02_Default_Values {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String inputLine = scanner.nextLine();
- LinkedHashMap<String, String> keyValuePairs = new LinkedHashMap<>();
- while (!"end".equals(inputLine)) {
- String[] tokens = inputLine.split(" -> ");
- String key = tokens[0];
- String value = tokens[1];
- keyValuePairs.put(key, value);
- inputLine = scanner.nextLine();
- }
- inputLine = scanner.nextLine();
- for (Map.Entry<String, String> keyValuesEntry : keyValuePairs.entrySet()) {
- String k = keyValuesEntry.getKey();
- String v = keyValuesEntry.getValue();
- if ("null".equals(v)) {
- keyValuePairs.put(k, inputLine);
- }
- }
- Stream<Map.Entry<String, String>> orderedKeyValues = keyValuePairs.entrySet().stream()
- .sorted((a, b) -> {
- if (a.getValue().compareTo(b.getValue()) == -1) {
- return 1;
- } else {
- return b.getValue().length() - a.getValue().length();
- }
- });
- for (Map.Entry<String,String> keyValuesOrdered : orderedKeyValues.collect(Collectors.toList())) {
- String key = keyValuesOrdered.getKey();
- String value = keyValuesOrdered.getValue();
- System.out.printf("%s <-> %s\n", key, value);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement