Escolar Documentos
Profissional Documentos
Cultura Documentos
Neste curso?
Arrays
Arrays
pela
qual
se
Arrays
Arrays
Arrays
Arrays
Nome do array (todos os elementos do vetor
passam a ter o mesmo nome: c)
C [ 0 ]
- 128
C [ 1 ]
C [ 2 ]
C [ 3 ]
82
C [ 4 ]
64
C [ 5 ]
- 12
C [ 6 ]
65
C [ 7 ]
43
C [ 8 ]
76
C [ 9 ]
11
C [ 10 ]
...
public static void main (String args[]) {
int c = new int[11];
...
c = {-128,8,0,82,64,-12,65,43,76,11};
// c[11] zero por default (inicializao)
...
c[4] += c[2];
// c[4] = 64 + 0 = 64
Arrays
Arrays
10
Arrays
Arrays
// declarao do array
c = new int[12];
12
Arrays
// declarao do array
c = new int[12];
13
Arrays
// declarao do array
c = new int[12];
Informaes complementares
15
Informaes complementares
16
Informaes complementares
Informaes complementares
18
Informaes complementares
19
Informaes complementares
Arrays
int array[] = {1,2,3,4,5}
21
Arrays
int array[] = {1,2,3,4,5}
Arrays Multidimensionais
23
Arrays Multidimensionais
24
Arrays Multidimensionais
Coluna 0
Linha 0 a [0] [0]
Linha 1 a [1] [0]
Linha 2 a [2] [0]
Coluna 1
a [0] [1]
a [1] [1]
a [2] [1]
Coluna 2 Coluna 3
a [0] [2] a [0] [3]
a [1] [2] a [1] [3]
a [2] [2] a [2] [3]
ndice da coluna
ndice da linha
Nome do array
int array1[][] = { { 1, 2, 3 }, { 4, 5, 6 } };
int array2[][] = { { 1, 2 }, { 3 }, { 4, 5, 6 } };
int b[][];
b = new int[3][4];
String[][] Sensores = {
{ Acelermetro", Bssola", GPS", ...", Odmetro" },
{ Giroscpio", Cmera 1", " Cmera 2", Etc" },
};
25
Armazenando Objetos
26
Armazenando Objetos
Qualquer programa no-trivial cria objetos para os quais
no h referncias explicitas.
27
Armazenando Objetos
Qualquer programa no-trivial cria objetos para os quais
no h referncias explicitas.
Estruturas de Dados servem exatamente para armazenar
estes objetos
Diferentes estruturas de dados
28
Armazenando Objetos
Qualquer programa no-trivial cria objetos para os quais
no h referncias explicitas.
Estruturas de Dados servem exatamente para armazenar
estes objetos
Diferentes estruturas de dados
29
Arrays Containers
Arrays so um objeto especial de Java, com sintaxe
especialmente definida:
int A[] = new int[10];
fortemente tipado
30
Arrays Containers
Arrays so um objeto especial de Java, com sintaxe
especialmente definida:
int A[] = new int[10];
fortemente tipado
Containers so objetos comuns
parte do pacote java.util
fracamento tipado (usa Object)
31
Containers
32
Tipagem Fraca
Voc perde a informao sobre tipo quando voc coloca
um objeto no container.
33
Tipagem Fraca
Voc perde a informao sobre tipo quando voc coloca
um objeto no container.
Portanto, no h restrio ao tipo de objeto que pode ser
colocado em um certo container.
34
Tipagem Fraca
Voc perde a informao sobre tipo quando voc coloca
um objeto no container.
Portanto, no h restrio ao tipo de objeto que pode ser
colocado em um certo container.
Portanto, ao retirar um objeto de um container, voc
precisa caste-lo para o tipo correto.
35
7
36
List
ArrayList um array que cresce por demanda
bom para acesso randmico
37
List
LinkedList uma lista duplamente encadeada
bom para alteraes no meio da lista
38
Map
Um Map guarda um objeto em associao com uma chave
A pesquisa feita pela chave, que nica.
Um Map um array associativo.
39
Map
HashMap implementa Map usando hash dinmico (rpido
e desordenado)
TreeMap implementa Map usando rvore vermelho-preta
(lento e ordenado)
40
Iterator
Um Iterator uma abstrao que permite percorrer um
container sem saber seu tipo.
41
Iterator
Obtm-se um iterator atravs do mtodo iterator() do
container.
next() retorna o prximo objeto.
hasNext() retorna se h um prximo objeto.
remove() apaga o ltimo elemento retornado.
42
Iterator: Exemplo
class Sensor {
static void startAll( Iterator e ) {
while( e.hasNext() ){
System.out.println(e.next());
}
}
}
43
ArrayList
44
ArrayList
Desvantagens:
S trabalha com objetos (e no com tipos bsicos)
45
ArrayList
Define um ArrayList de Strings:
ArrayList<String> list = new ArrayList<String>();
capacidade inicial default 10.
Define um ArrayList de Sensor:
ArrayList<Sensor> sensores
= new ArrayList<Sensor>( 20 );
capacidade inicial 20.
46
ArrayList
Substituindo (ou setando) um elemento em uma
determinada posio:
list.set(12, GPS 11);
47
ArrayList
Substituindo (ou setando) um elemento em uma
determinada posio:
list.set(12, GPS 11);
Retornando um elemento de uma posio:
System.out.println(list.get(12));
String s = list.get(5);
48
ArrayList
Inserindo um elemento no final do ArrayList
list.add(One);
list.add(Two);
list.add(Three);
One est na posio 0, Two est na posio 1, e
Three est na posio 2.
49
ArrayList
Inserindo um elemento em uma determinada posio
i deve ser uma posio usada ou a primeira posio
livre
list.add(One);
list.add(Two);
list.add(Three);
list.add(1, Fred);
One est na posio 0, Fred est na posio 1,
Two est na posio 2, e Three est na posio 3.
50
ArrayList
Retornando tamanho da lista (quantidade de ns na
lista):
Mtodo size()
for (int i=0; i<list.size(); i++) {
System.out.println( list.get(i) );
}
51
55
56
58
59
60
Ex: list.ensureCapacity(20);
61
Ex: list.trimToSize();
62
63
http://www.ime.usp.br/~cosen/verao/alg.pdf
http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html
outros esto disponveis na internet
66