Python -> Java --- listas e dicionarios

Estou começando a aprender Java e queria saber se é possível fazer dicionários(Python) em Java. Não sei se expliquei direito mas vai um exemplo do que eu gostaria de fazer em Java.
Código python:
sorteio = {“2018”:[1,4,5,5,3,4], [5,7,8,78,87,65], “2017”:[5,6,7,1,2,4], [5,6,7,3,8,90]}

O mais próximo de um dicionário em Java é a abstração Map. Já para representar listas, você pode usar arrays ou as collections que implementam a interface List.

Em Java não é tão fácil criar uma estrutura de dados assim, porque não existem literais para coleções. Você precisa escrever mais código para conseguir espressar essa ideia. Um exemplo:

import java.util.*;

class Program {
  public static void main(String[] args) {
    Map<String, int[]> sorteio = new HashMap<>();
    sorteio.put("2018", new int[] {1, 4, 5, 5, 3, 4});
    sorteio.put("2017", new int[] {5, 6, 7, 1, 2, 4});

    sorteio.forEach((k, v) -> System.out.println(k + ": " + Arrays.toString(v)));
  }
}
2 curtidas

Lembrando que a partir do java 9, foi adicionado alguns métodos de criaçao de collections, que ajuda um pouco:

var sorteio = Map.of(
  "2018", new int[]{ 1, 4, 5, 5, 3, 4 }, 
  "2017", new int[]{ 5, 6, 7, 1, 2, 4 }
);
1 curtida

Muito obrigado pela ajuda gente