murilo.varges@ifsp.edu.br Definio Um arranjo (array) uma coleo sequenciada de variveis do mesmo tipo. Cada varivel ou clula, em um array possui um ndice, o qual permite acessar o valor armazenado em cada clula. As clulas de um array, A, so numeradas 0, 1, 2, 3 e assim por diante. Cada valor armazenado chamado de um elemento do array. Tamanho e Capacidade Como o comprimento de array determina o nmero mximo de coisas que podem ser armazenadas no array, s vezes nos referimos ao comprimento de um array como sua capacidade. Em Java, o comprimento de um array de nome a, pode ser acessado utilizando a sintaxe a.length. Assim, as clulas de um array, a, so numeradas 0, 1, 2 e assim por diante at a.length-1, e a clula com o ndice k pode ser acessada com a sintaxe a[k]. Declarando Arrays (Primeira Forma) A primeira maneira de criar um array usar uma atribuio para um formato literal quando declaramos um array, usando uma sintaxe como:
O elementType pode ser qualquer tipo de varivel
primitiva do Java ou nome de classe, e arrayName pode ser qualquer identificador vlido do Java. Os valores iniciais devem ser do mesmo tipo do array. Declarando Arrays (Segunda Forma) A segunda maneira de criar um array utilizando o operador new. No entanto, como um array no uma instancia de uma classe, ns no devemos utilizar um construtor tpico. Em vez disso utilizamos a sintaxe:
length um inteiro positivo que indica o
comprimento do novo array. O operador new retorna a referencia (endereo de memria) para o novo array. Arrays de Caracteres ou Referncia para Objetos Um array pode armazenar elementos com tipos de dados primitivos, como caracteres.
Um array pode tambm armazenar referencias para
objetos. Exemplo Java: Game Entries A classe GameEntry armazena o nome do jogador e sua melhor pontuao em um jogo. Exemplo Java: Scoreboard Esquema de um array de comprimento 10, armazenando referencias para seis objetos nas clulas indexadas de 0 a 5 e com as restantes sendo referncias null. Exemplo Java: Scoreboard Mantm as informaes dos jogadores com melhores pontuaes em um array (Placar) Os elementos do placar so objetos da class GameEntry O array do placar ordenado pela maior pontuao (decrescente) Inserindo um registro Preparando para acrescentar um novo objeto GameEntry no array entries. De maneira a abrir espao para a nova referncia, deve-se deslocar as referncias dos registros com escores menores que o do novo uma clula para direita, Inserindo um registro Acrescentando uma referncia para um novo objeto GameEntry ao array entries. A referncia foi inserida no ndice 2, uma vez que todas as referncias para objetos GameEntry com escores menores do que a do registro novo foram deslocadas para a direita. Inserindo um registro Trecho de cdigo para insero de um objeto GameEntry. Remoo de Objetos Esquema de remoo do ndice 3 em um array que armazena referncias para o objeto GameEntry. Remoo de Objetos Trecho de cdigo para execuo da operao de remoo. Mtodo main (Testes)