Sobre Arrays

16 respostas
E

olá gente!

Estou aprendendo java por conta propria e peguei alguns tutoriais na net, um deles fala sobre arrays, mas eu nao consegui entender direito o conceito de array e como mota-lo essas coisas…emfim alguem poderia me dar uma breve aula de array por favor!?

MUITISSIMO GRATO desde ja

16 Respostas

E

bom assim se monta um array
int arrayTeste[] // vc declara a refencia pr o array

arrayTeste = new int[10]; //alocou dinamicamente o array dez posicoes do tipo inteiro.

o array é sao varias posicoes seguidas na memoria eles possuem o mesmo tipo de dados. sao estaticos, vc tem q declara o seu tamanho. mas em java existem outras estruturas dinamicas como Vector, arrayList e outros q podem crescer dinamicamente. nao precisa especificar o tamanho.
bom é mais ou menos isso, com tempo vc vai entendedo melhor.
qualquer duvida é só postar. :lol:

G

Estevam, um array não é nada mais do que uma forma de armazenar objetos!

O tamanho de um array é determinado quando o array é criado (em tempo de execução).

Após criar um array, sua estrutura é de tamanho fixo.

Deve-se usar arrays quando:
[list][*:4bf74ae990] Você precisa saber de antemão o número máximo de elementos que será armazenado no array…

[*:4bf74ae990] Você quer que apenas um tipo específico esteja contido na coleção.
[/list]

Alguns dos principais métodos da classe Array:
[list][:4bf74ae990] equals()
[
:4bf74ae990] fill()
[:4bf74ae990] sort()
[
:4bf74ae990] binarySearch()
[*:4bf74ae990] asList()
[/list]

PS: Um array pode guardar tipos primitivos, mas seu tamanho não pode ser modificado, uma vez que tenha sido criado!

E

HMMM valeu pessoal! deu pra ter uma noção da coisa… olhem esse exemplo da apostila:

class Exemplo {

public static void main(String arg[ ])

{

int A[] = new int[3];

A[0] = 50;

A[1] = 100;

A[2] = 150;

System.out.println("Tamanho do vetor = " + A.length);
int conta;

for(conta = 0; conta< A.length ; conta++)
{System.out.println("indice = " + conta + "  valor= " + A[conta] );}

}
}

MUITO BEM, o que eu nao entendi desse exemplo (depois da explicação de vocês) é: O que é .length ? e apartir do FOR eu nao entendi mais nada hehe qq é o incremento de CONTA? esse ++ e o que está no system.out.println eu tambem nao intendi A[conta] … por favor me ajudem denovo!

Grato

G

“Estevam”:
HMMM valeu pessoal! deu pra ter uma noção da coisa… olhem esse exemplo da apostila:

class Exemplo {

public static void main(String arg[ ])

{

int A[] = new int[3];

A[0] = 50;

A[1] = 100;

A[2] = 150;

System.out.println("Tamanho do vetor = " + A.length);
int conta;

for(conta = 0; conta< A.length ; conta++)
{System.out.println("indice = " + conta + "  valor= " + A[conta] );}

}
}

MUITO BEM, o que eu nao entendi desse exemplo (depois da explicação de vocês) é: O que é .length ? e apartir do FOR eu nao entendi mais nada hehe qq é o incremento de CONTA? esse ++ e o que está no system.out.println eu tambem nao intendi A[conta] … por favor me ajudem denovo!

Grato

Length retorna o tamanho do seu array…

o for é apenas a estrutura de repetição:

for(conta = 0; conta< A.length ; conta++)

para conta =0, conta menor que o tamanho do seu array, incrementa a variável de controle conta

e essa linha:

System.out.println("indice = " + conta + "  valor= " + A[conta] );

apenas imprime a variável conta como sendo o índice e o valor referente ao seu índice no array…

:wink:

E

entendi quase tudo! hehe sóe stou com duvida em um negocio, se quando declara CONTA “int conta;” o valor inicial é 0 por que que tem que dizer “for(conta =0 ; …” e eu poderia substituir o A.legth do comando FOR por 3? e o que o incremento faz?

G

toda variável tem que ser inicializada…

sim, vc poderia substituir o length por 3…

:wink:

D

Vc tbm pode usar vetores…

String menuTopo[][] = new String[5][5];
menuTopo[0][0]="url0";	
menuTopo[0][1]="Menu0";
menuTopo[1][0]="url1";	
menuTopo[1][1]="Menu1";
menuTopo[2][0]="url2";	
menuTopo[2][1]="Menu2";
menuTopo[3][0]="url3";	
menuTopo[3][1]="Menu3";
menuTopo[4][0]="url3";	
menuTopo[4][1]="Menu4";
E

nao entendi esse negocio de menu :sad:
e por que 2 valores [][]? é um dentro do outro?
eu poderia usar isso pra fazer coordenadas [x][y] ?

D

Funciona como um array bidimensional… na verdade vc pode utilizar quantas dimensoes quiser… eh um recurso sempre muito util.
Inclusive vc pode utilizar o recurso de lenght para as dimensoes individualmente, por ex:

vetor[x][y];

vetor.lenght… ou vetor[x].lenght e obter o lenght da segunda dimensao…

Abraco!!!
Daniel Bertini


nerd.com.br
peca suas pizzas ou alugue filmes online…

D

Vale a pena pesquisar para saber qual o melhor recurso a ser utilizado pois podem existir diferencas de performance muito grandes… portanto muita atencao na utilizacao de arrays com relacao a quantidade de dados a serem tratados. Procure saber como a JVM trata o armazenamento disso em memoria em todos os casos.

E

o qq é JVM?

D

Java Virtual Machine… procure tutoriais a respeito pois eh meio complicado de estar explicando isso aqui;

G

Estevam, procure por apostilas, tutoriais para iniciantes…

com certeza nelas vc vai encontrar suas dúvidas!

Ok!?

:wink:

F

Aproveitando topico sobre arrays eu queria saber se tem como descobrir o numero de inervalos usado em um array de inteiros, por exemplo…
int numeros[] = new int[100]
mas eu usei somente 30 intervalos, tem algum meio de contar isso? tipo algum .lenght, ou nao daria pra iniciar esse array todo como “null” e criar uma funcao para contar o intervalo? tipo

while (numero[i]!=null){ cont++; i++; }

D

Ola.

Por default a JVM inicia a alocacao de memoria com padroes de null ou 0 (se nao me angano) dependendo do tipo de variavel que for definido… aconselho dar uma estudada melhor nos tutoriais para saber mais a respeito pois são coisas muito importantes e dificeis de estar explicando aqui ja que envolve muitos aspectos e padroes da linguagem.

Abraco
Danie.

--------------- > visite www.nerd.com.br

E

E ae Estevam,tudo firmeza?!

Como pude notar,vc é um cara com muitas dúvidas sobre Java…a galera aqui tem muitos conceitos pra te ajudar,como eu tb tenho e até tenho uma indicação de bibliografia bem útil pra vc aprender melhor e até desenvolver mais ainda seus conhecimentos…

procure o livro:

JAVA Como programar,dos irmãos Deitel

Seu conteúdo tem tudo que vc precisa saber sobre JAVA,como iniciante e ainda tem Orientação a Objetos…vc vai gostar…

Procure em:

http://www.submarino.com.br/books.asp?Query=&ProdTypeId=1&CatId=11834&PrevCatId=11827

Criado 24 de fevereiro de 2005
Ultima resposta 1 de mar. de 2005
Respostas 16
Participantes 6