Upload
fabricia
View
215
Download
0
Embed Size (px)
DESCRIPTION
POO AulaArrayJava
Citation preview
1Arrays
Joo FerreiraSandra Siebra
ilostmy.info
Arrays Estruturas capazes de armazenar mais
de um valor de mesmo tipo (Primitivo ou Objeto)
Unidimensionais ou multidimensionais A posio de cada elemento do array
identificada por um ou mais ndices Em Java so tipos especiais (Objetos) Tm tamanho fixo depois de criados. No
entanto, podem ser criados em tempo de execuo
Array Unidimensional - DeclaraoConhecidos tambm como listas simples ou vetoresForma geral de declarao:
[ ] ; ou [ ];
[ ] = new [no_elementos]; ou [ ] = new [no_elementos];
Ex: int vetor [ ]; ou int [ ] vetor;
vetor
3210
Conceitos
a
b
c
3210
0,0
2,01,2
endereo
contedo
a uma varivel simples
b uma varivel unidimensional com 4 valores, identificados por suas posio dentro do conjunto: b[0], b[1], b[2], b[3]
c uma varivel bidimensional com 12 valores, identificados por suas posio dentro do conjunto:c[0,0], c[0,1], c[0,2], c[0,3], c[1,0], c[1,1], c[1,2], c[1,3], c[2,0], c[2,1], c[2,2], c[2,3],
Array Unidimensional - Inicializao O operador new usado para criar um array
em Java Os elementos de um array podem ser dados
bsicos, mas o conjunto formado por eles um objeto
Para inicializar o array: = new [no_elementos];
Exemplos: int vetor [ ]; ou int [ ] vetor; vetor = new int [100]; // inicializao em outro local
Declarao e criao de arrays Sintaxe:
Declarao: Tipo nomeArray[ ];
Instanciao nomeArray = new Tipo[tamanho];
Declarao e instanciao juntos: Tipo nomeArray[ ] = new Tipo[tamanho];
2Exemplos de Arrays Array deve ser declarado em seguida
instanciado
// criao e instanciao
int[] a = new int[100];
int vetor [ ] = new int [100]; // array iniciado na declaraoint vetor [ ] = {1,3,4,5,8,10}; // outra forma de inicializao
String[] nomes = new String[200]
int[] a; //declaraodouble[] x; // outra forma de declararCliente[] clientes;
Primeiro item: a[0]ltimo item: a[99]
Mais exemplos
int[] primosPequenos = {2, 3, 5, 7, 11, 13};
String[] cores = {"Vermelho", "Azul", "Amarelo"};
double[] salarios = new double[5];for (int i = 0; i
3Arrays de Objetos Armazenam referncias a objetos de um
determinado tipo Devem ser alocados da mesma forma
que arrays de tipos primitivos Quando no atribudo explicitamente, o
valor de cada i-simo elemento do array inicializado com null.
Arrays de Objetos ExemplosConta[] contas = new Conta[20];
contas[0] = new Conta(111,40);
contas 0 1 2 19
null null
contas 0 1 2 19
nullnull
Utilizao de arrays no Sistema Bancrio
Um sistema bancrio deve ser capaz de armazenar as contas em alguma estrutura
Uma classe de armazenamento de contas pode ser a responsvel pelos servios de inserir, atualizar, remover e pesquisar
A classe se chama ArrayContas e guarda as contas num array.
Classe ArrayContas
public class ArrayContas{private Conta[] contas;private int indice = 0;private int tam;
public ArrayContas(int tam){this.tam = tam;contas = new Conta[tam];}
}
Classe ArrayContas - inserir
public void inserir(Conta c){contas[indice] = c;indice = indice + 1;
}
Classe ArrayContas - mtodo auxiliar
private int procurarIndice(int num) {int i = 0;int resp = -1;boolean achou = false;while ((i < indice) && !achou) {
if (contas[i].getNumero()==num) resp = i;achou = true;
} i = i + 1;
}
return resp;}
4Classe ArrayContas - checando existncia
public boolean existe(int num) {boolean resp = false;
int i = this.procurarIndice(num);if(i != -1){
resp = true;}return resp;
}
Classe ArrayContas - atualizar
public void atualizar(Conta c){int i = procurarIndice(c.getNumero());if (i != -1) {contas[i] = c;
} else {System.out.println("Conta nao encontrada");
}}
Classe ArrayContas - pesquisar
public Conta pesquisar(int num){Conta resp = null;if (existe(num)) {
int i = this.procurarIndice(num);resp = contas[i];
} else {System.out.println("Conta nao encontrada");
}return resp;
}
Classe ArrayContas - remover
public void remover(int num){if (existe(num)) {int ind = this.procurarIndice(num);for(int i=ind; i