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