fork(1) download
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import java.util.Scanner;
  6.  
  7. class TesteJava {
  8.  
  9. public static void main(String[] args) {
  10.  
  11. Map<Integer, List<String>> map = new HashMap<>();
  12.  
  13. Scanner scan = new Scanner(System.in);
  14.  
  15. System.out.println("Quantidade de cidades a adicionar?");
  16. int qtd = Integer.parseInt(scan.nextLine());
  17.  
  18. for (int i = 0; i < qtd; i++) {
  19. System.out.println("Nome da " + (i + 1) + "a cidade?");
  20. String nome = scan.nextLine();
  21. map.compute(nome.length(), (k, v) -> {
  22. List<String> nomes = v != null ? v : new ArrayList<>();
  23. nomes.add(nome);
  24. return nomes;
  25. });
  26. }
  27.  
  28. for (Map.Entry<Integer, List<String>> entry : map.entrySet()) {
  29. System.out.println(entry.getKey() + " " + entry.getValue());
  30. }
  31. }
  32. }
Success #stdin #stdout 0.21s 34684KB
stdin
21
Bauru
Poá
Londrina
Franca
Itapevi
Osasco
Salvador
Suzano
São Paulo
Vitória
Cuiabá
Maceió
Belém
Curitiba
Macapá
Rio Branco
Manaus
Belo Horizonte
Recife
Itu
Rio de Janeiro
stdout
Quantidade de cidades a adicionar?
Nome da 1a cidade?
Nome da 2a cidade?
Nome da 3a cidade?
Nome da 4a cidade?
Nome da 5a cidade?
Nome da 6a cidade?
Nome da 7a cidade?
Nome da 8a cidade?
Nome da 9a cidade?
Nome da 10a cidade?
Nome da 11a cidade?
Nome da 12a cidade?
Nome da 13a cidade?
Nome da 14a cidade?
Nome da 15a cidade?
Nome da 16a cidade?
Nome da 17a cidade?
Nome da 18a cidade?
Nome da 19a cidade?
Nome da 20a cidade?
Nome da 21a cidade?
3 [Poá, Itu]
5 [Bauru, Belém]
6 [Franca, Osasco, Suzano, Cuiabá, Maceió, Macapá, Manaus, Recife]
7 [Itapevi, Vitória]
8 [Londrina, Salvador, Curitiba]
9 [São Paulo]
10 [Rio Branco]
14 [Belo Horizonte, Rio de Janeiro]