Sunteți pe pagina 1din 18

Vetores

Vetores ou arrays constituem um mecanismo nativo da linguagem para manter referncias a valores de tipos primitivos e objetos sendo a forma mais eficiente de se manter referncias. Os Vetores tm tamanho fixo e no podem ser redimensionados.

Declarao de vetor

Para declarar um vetor utilizamos [ ]. Por exemplo: char nota [ ]; ou char [ ] nota;

Definindo tamanho do vetor


nota =new char [5]; Ou nota[]=new char [5];

Atribuindo valores ao vetor


nota[ nota[ nota[ nota[ nota[ 0 1 2 3 4 ] ] ] ] ] = = = = = 'A' ; 'B' ; 'C' ; 'D' ; 'E' ;
3

OBS: Indice de vetores tem como base o valor 0

Lendo valor de um elemento do vetor

Basta informar o ndice do elemento desejado.

Se quisermos ler o valor do terceiro elemento devemos utilizar o ndice 2. Exemplo:

System.out.println(nota[ 2 ]);

Exemplo

public class Main { public static void main(String[] args) { char vogal [ ]= new char[5]; vogal[0]='A'; vogal[1]='E'; vogal[2]='I'; vogal[3]='O'; vogal[4]='U'; JOptionPane.showMessageDialog(null, vogal[0]); JOptionPane.showMessageDialog(null, vogal[1]); JOptionPane.showMessageDialog(null, vogal[2]); JOptionPane.showMessageDialog(null, vogal[3]); JOptionPane.showMessageDialog(null, vogal[4]); } }
5

Exemplo
1.

Crie um array de Strings inicializado com os nomes dos sete dias da semana. Crie um array de Strings inicializado com os nomes dos doze meses do ano.

2.

Forma reduzida da declarao de Vetores


Podemos simplificar o cdigo utilizando a forma reduzida. Exemplo:

char vogal[] = { 'A' , 'B' , 'C' , 'D' , 'E' };

Atributo length

Atravs do atributo length, podemos obter o nmero de elementos do vetor.

package atlengt; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { int elementos; char vogal[]= {'A','E','I','O','U'}; elementos=vogal.length; JOptionPane.showMessageDialog(null, " O TAMANHO DO VETOR "+elementos); }}
8

Atributo length

Este mtodo til quando para listar todos os elementos do vetor.


package atlengt; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { int i; char vogal[]= {'A','E','I','O','U'}; for(i=0;i<vogal.length;i++){ JOptionPane.showMessageDialog(null, vogal[i]); } } }
9

Classe Arrays
Importando a classe arrays. Exemplo: import java.util.Arrays;

Principais mtodos da classe arrays


sort; equals; fill; binarySearch.

10

Sort

Ordena em ordem ascendente os elementos do array.

package atbsort; import java.util.Arrays; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { char vogal[]={'U','O','I','E','A'}; Arrays.sort(vogal); for(int i=0;i<vogal.length;i++){ JOptionPane.showMessageDialog(null, vogal[i]); } } }
11

Equals

Retorna true se os arrays tiverem o mesmo contedo na mesma ordem.


package atbequals; import javax.swing.JOptionPane; import java.util.Arrays; public class Main { public static void main(String[] args) { char vogal[]={'U','O','I','E','A'}; char vogal1[]={'U','O','I','E','A'}; if(Arrays.equals(vogal, vogal1)){ JOptionPane.showMessageDialog(null, "Vetores Iguais"); }else{ JOptionPane.showMessageDialog(null, "Vetores Diferentes"); }}}

12

Fill

Preenche o array com o valor recebido como parmetro. O tipo do valor passado deve ser compatvel com o tipo do array.

package atbfill; import javax.swing.JOptionPane; import java.util.Arrays; public class Main { public static void main(String[] args) { char vogal[]=new char [10]; Arrays.fill(vogal,'u'); for(int i=0;i<vogal.length;i++){ JOptionPane.showMessageDialog(null,vogal[i]); }}}

13

binarySearch

Retorna um inteiro que indica em qual posio do array o valor se encontra ou retorna um valor negativo caso o valor no seja encontrado. Este mtodo s funciona se o vetor j tiver sido ordenado anteriormente.

14

package arrayposicao; import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args) { Scanner vetor=new Scanner (System.in); int vet[]= new int[3]; for(int i=1;i<vet.length;i++){ System.out.println("Entre com o valor do vetor"); vet[i]=vetor.nextInt(); } int posicao=Arrays.binarySearch(vet,3); System.out.println("posio"+posicao); } }

15

Copiando elementos de um array para outro


Basta utilizar o mtodo arraycopy da classe System Sintaxe : arraycopy(origem, indice origem, destino, ndice destino, quantidade) origem o nome do array de origem (de onde sero copiados alguns elementos). ndice origem o ndice dentro do array de origem. destino o nome do array de destino (para onde sero copiados alguns elementos). ndice destino o ndice dentro do array de destino.
16

package copyvetor; import java.util.Arrays; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { int a[]={1,2,3,4,5}; int b[]={6,7,8,9,10}; System.arraycopy(a, 0, b, 1, 3); for(int i=1;i<b.length;i++){ JOptionPane.showMessageDialog(null,b[i]); } } }
17

Vetores Multidimensionais

Os arrays podem ter mais do que uma dimenso. Um array de 2 dimenses seria como se fosse uma tabela. De 3 dimenses seria um cubo. Abaixo um exemplo que gera um vetor de 2 linhas e 3 colunas int d[][] = new int [ 2 ][ 3 ]; d[ 0 ][ 0 ] = 3 ; d[ 0 ][ 1 ] = 6 ; d[ 0 ][ 2 ] = 9 ; d[ 1 ][ 0 ] = 12 ; d[ 1 ][ 1 ] = 15 ; d[ 1 ][ 2 ] = 18 ;

18

S-ar putea să vă placă și