Declarar, instanciar e povoar coleção em uma linha

4 respostas
T

Fala, galera!
Se eu já conheço os elementos da coleção, já posso instanciar povoando, por exemplo:

String arraydestring[] = {"str0", "str1", "str2", "str3" };

Agora eis a questão… alguém sabe fazer isso com Map? (sem ter que criar novos metodos, etc…)
algo que já seja nativo do java, como exemplificado pelo array aí de cima…
Alguém?

4 Respostas

T

Java não é Perl ou Python ou mesmo Groovy, e embora a sintaxe de inicialização de maps tenha sido proposta, não vai entrar ainda nesta versão, nem no Java 7.

Crie um método que receba um array bidimensional e retorne um Map (por exemplo).

Aí você poderia chamá-lo como:

Map<String,String> mapa = Utilitarios.createHashMap (new String[][]{
    { "presidente", "Lula" },
    { "governador", "Serra" },
    { "prefeito", "Kassab" }
});
T

Entretanto, é possível fazer algo semelhante com ArrayList. Vamos mostrar:

List<String> lista = new ArrayList<String> (Arrays.asList (new String[]{
    "abacaxi", "banana", "caju", "damasco"
}));
jopss

Interessante as dicas acima, mas, não vejo nenhum problema/dificuldade em fazer adds e puts da vida…
thitoh… pq vc quer fazer em uma linha? com dados mt grandes fica até mais facil de ler!

jopss

T

Quando você já conhece o conjunto, fica muito melhor declarar, instanciar e povoar em uma linha… para outra pessoa que esta lendo o seu codigo, por exemplo, se ele esta lendo o algoritmo pela primeira vez para entende-lo, é mt mais rapido e intuitivo… ele n tem q quebrar o raciocinio pra ver um monte de adds… bom… eh soh a minha opiniao…

Quanto a criar um metodo para fazer isso, no meu caso nao vale a pena, pois sao apenas 3 pares chave/valor… seria melhor os 4 put() mesmo… eu queria soh saber mesmo se o java jah tem uma estrutura rapida para instanciar e povoar o mapa, assim como tem o do array…

mas obrigado, galera!! valeu mesmo!

Criado 19 de janeiro de 2009
Ultima resposta 20 de jan. de 2009
Respostas 4
Participantes 3