Você está na página 1de 15

Estrutura de Dados

Arranjos (Arrays)

Murilo Varges da Silva


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)

Você também pode gostar