Revisão de Array
Profa. Patrícia A. Jaques
http://www.inf.unisinos.br/~pjaques/
[email protected]
8. Array
• Arrays são grupos de variáveis do mesmo tipo.
• As arrays podem armazenar variáveis de qualquer
tipo (tipo de dado primitivo ou objetos);
• Todos os valores devem ser de um único tipo de
dado.
Profa. Patrícia Jaques - Programação I
2
Criando um Array
int diaMes [ ] = new int [4];
int [ ]diaMes = new int [4];
Elementos do Vetor
Posições do Vetor
0
0
0
1
0
2
0
3
int diaMes [ ]; // declarando um array de inteiros (apontador)
diaMes = new int [4]; //criando um array de int com 4 posições
Profa. Patrícia Jaques - Programação I
3
Inicializando um array
class Array {
public static void main (String args [ ])
{
int diaMes [ ] = new int [4];
diaMes
[0] = 31;
int
diaMes
[ ] = {31, 28, 31, 30 };
diaMes [1] = 28;
diaMes [2] = 31;
diaMes [3] = 30;
System.out.println (“Janeiro tem “+ diaMes[0] + “dias.”);
} // do main
} // da class
Profa. Patrícia Jaques - Programação I
4
Inicialização default
• Arrays de tipos primitivos de dados são inicializados
por default.
int diaMes [ ] = new int [4];
•Inicializando um array com o laço for:
int vetor [ ] = new int [4];
for (int i=0; i<4; i++) vetor [i] = -1;
Profa. Patrícia Jaques - Programação I
5
Acessando um elemento de uma Array
• int v [ ] = {2, 4, 6, 6};
Elementos do Vetor
Posições do Vetor
2
0
4
1
6
2
6
3
• v [2] = 3;
Elementos do Vetor
Posições do Vetor
2
0
4
1
3
2
6
3
Profa. Patrícia Jaques - Programação I
6
Array
• Não é possível redimensionar um array, mas apenas elimina-la
da memória e criar uma nova instância. Por exemplo,
• int v[ ] = {0, 1, 2, 3}; //criando um array de 4 posições e
inicializado
• v = new int [2]; // fazendo com que v aponte para um novo
array de 2 posições
• Assim, quando fizemos v = new int [2], perdemos todos os
valores armazenados anteriormente.
Profa. Patrícia Jaques - Programação I
7
Obtendo tamanho de um array
• int v [ ] = new int [10];
• int tam = v.length;
tam. da array=10
Profa. Patrícia Jaques - Programação I
8
Copiando o conteúdo de um array para
outro array
• System.arraycopy (sourceArray, sourcePosition,
destinationArray, destinationPosition,
numbersOfEntryToCopy);
System.arraycopy (vet1, 2, vet2, 1, 5);
Profa. Patrícia Jaques - Programação I
9
Método clone
• Método clone para array:
Profa. Patrícia Jaques - Programação I
10
Arrays Multidimensionais
• double matriz [ ] [ ] = new double [4] [4];
0 1 2 3
0
1
2
3
Profa. Patrícia Jaques - Programação I
11
Inicializando um array multidimensional
int m [ ] [ ] = {
{0, 1, 2, 3} ,
{4, 5, 6, 7},
{8, 9, 10, 11},
{12, 13, 14, 15}
};
int m[][] = new int[1][3];
m [0] [0] = 0;
m[0] [1] = 1;
m [0] [2] = 2;
int m[][] = new int [3][4];
for (int i =0; i<m.length; i++)
for (int j=0; j<m[i].length; j++)
m [i] [j] = 0;
Profa. Patrícia Jaques - Programação I
12
Inicializando um array multidimensional
• Como um array multidimensional é um array de
array, podemos determinar tamanhos diferentes.
int mat [ ] [ ] = new int [2] [ ];
mat [0] = new int [4];
mat [1] = new int [3];
0 1 2 3
0
1
Profa. Patrícia Jaques - Programação I
13
Array de Objetos
Data d [ ] = new Data [3];
d [0] = new Data ( );
d [1] = new Data ( );
d [2] = new Data ( );
for (int i=0; i<d.length; i++)
d [i] = new Data ( );
Profa. Patrícia Jaques - Programação I
14
Exercícios
• Crie a classe Aluno. Um aluno tem nome (String),
CPF (string), turma (int). Crie métodos modificadores
e de acesso para a classe Aluno.
• Faça a classe Disciplina que é composta por um array
de objetos do tipo Aluno. Crie métodos para inserir
alunos, remover alunos, listar todos os alunos e
verificar o aluno mais velho.
Profa. Patrícia Jaques - Programação I
15
Download

Inicializando um array