Advertisement
Ligh7_of_H3av3n

07. Cities by Continent and Country

May 20th, 2024
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.56 KB | None | 0 0
  1. package Lekciq;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.LinkedHashMap;
  5. import java.util.Map;
  6. import java.util.Scanner;
  7.  
  8. public class CitiesByContinentAndCountry {
  9.     public static void main(String[] args) {
  10.         Scanner scanner = new Scanner(System.in);
  11.  
  12.  
  13.         int n = Integer.parseInt(scanner.nextLine());
  14.  
  15.         LinkedHashMap<String, LinkedHashMap<String, ArrayList<String>>> continents = new LinkedHashMap<>();
  16.  
  17.         for (int i = 0; i < n; i++) {
  18.             String[] input = scanner.nextLine().split("\\s+");
  19.             String continent = input[0];
  20.             String country = input[1];
  21.             String city = input[2];
  22.  
  23.             continents.putIfAbsent(continent, new LinkedHashMap<>());
  24.             continents.get(continent).putIfAbsent(country, new ArrayList<>());
  25.             continents.get(continent).get(country).add(city);
  26.         }
  27.  
  28.         for (Map.Entry<String, LinkedHashMap<String, ArrayList<String>>> continentEntry : continents.entrySet()) {
  29.             String continent = continentEntry.getKey();
  30.             LinkedHashMap<String, ArrayList<String>> countries = continentEntry.getValue();
  31.  
  32.             System.out.println(continent + ":");
  33.  
  34.             for (Map.Entry<String, ArrayList<String>> countryEntry : countries.entrySet()) {
  35.                 String country = countryEntry.getKey();
  36.                 ArrayList<String> cities = countryEntry.getValue();
  37.  
  38.                 System.out.print("  " + country + " -> ");
  39.                 System.out.println(String.join(", ", cities));
  40.             }
  41.         }
  42.     }
  43. }
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement