Array, Herg!

Eu, e acho que somente eu, nunca gostei de usar Arrays em Java por causa da inicialização. Não sei se aprendi algo errado, ou é memo um saco ter de ficar definindo o tamanho definitivo do array na inicialização. Alguém (o pessoal com certificação, e os caras já formados) conhece uma forma mais agradável de trabalhar com arrays? Ou uma solução pra eles (ArrayLists), que também dê pra fazer trabalhos bi e tridimensionais?

Gustavo Guilherme BacK

Em relacao aos arrays, eh soh vc ir aninhando entre chaves os niveis… por exemplo:

Uma dimensao:

int[] meuArray = {1, 2, 3};

Duas dimensoes:

int[][] meuArray = {{1, 2, 3}, {3, 4, 5}, {7, 8, 9}};

E assim por diante. ArrayList com mais de uma dimensao? soh se vc jogar arraylist dentro de arraylist…

ArrayList lista = new ArrayList();

ArrayList l1 = new ArrayList();
l1.add("1");
l1.add("2");
l1.add("3");

lista.add(l1);

...

entao, para pegar, seria

lista.get(x).get(y);

e tantos get’s qto forem necessarios.

Bizarro, nao?!

Rafael

É Rafael, realmente o Array eu vou considerar achando uma nheca… mas o ArrayList, como suspeitava, irá funcionar…

Não tá pra sair uma alteração no J2SE que resolva isso?

Gustavo Guilherme BacK

É preciso declarar a quantidade de itens que um array deve ter porque a memória é alocada estaticamente e em um único bloco sequencial. Ou seja, se você tentar criar um array de inteiros com 10 posições

int[] array = new int[10];

será alocado na sua memória 10 posições sequenciais de 4 bytes cada para armazenar seu array. Caso não haja 10 blocos sequenciais disponíveis para alocação, então sua memória vai ser reorganizada de modo que apareça o espaço necessário. É isso.

É exatamente este o meu problema Daniel, gostaria que fosse possivel alocar dinamicamente. Ao inicializar não vai me ajudar muito, neste caso, a solução será trabalhar com um ArrayList.

Ah! Parabéns pelo matéria no MundoJava. Vai ter uma matéria mais detalhada nas próximas edições?

Gustavo Guilherme BacK

Opa, valeu!
Hmmmm, se pintar mais um convite da dupla Kantek/Guapo (dica dica dica!!), claro!! Eu também estou pensando em fazer a série de Hibernate aqui no GUJ. Mas tenho que esperar esta época “maravilhosa” de provas da faculdade para ter um pouquinho mais de tempo para começar escrever os artigos de hibernate e terminar os artigos de Jini.

Sobre o lance de ter que fazer alocações dinâmicas, sua saída vai ter que ser alguma coisa do tipo ArrayList mesmo. :slight_smile:

[]s

Oba JINI!!! Cara, até hoje nunca parei pra estudar isso, mas estou muito curioso devido ao “montalhão” de coisas que andei lendo sobre ele, principalmente do JAVAOne…

Gustavo Guilherme BacK

http://pandonia.canberra.edu.au/java/jini/tutorial/Jini.xml Tutorial excelente, mas muito extenso. Uma dica: abra sua IDE favorita e comece a fazer os exemplos que ele mostra no decorrer tutorial e vá acompanhando o texto. Ahhh, é bom ressaltar que ter conhecimento sobre RMI é vital para se saber Jini. Mas não há muito segredo em Jini. O que enche a paciência é o processo de deployment dos serviços. :stuck_out_tongue: