Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados, todos do mesmo tipo; Cada item de dado do vetor é um elemento ou variável indexada; Cada item de dado é armazenado em uma determinada posição dentro do vetor, identificada por um índice; Um índice é um número inteiro (positivo ou negativo), colocado dentro de colchetes [], que especifica um elemento do vetor; Em Java, qualquer elemento de um vetor começa no índice zero. Nomes de vetores seguem as mesmas normas e convenções de nomes de variáveis.
Declaração e criação de vetores Segue a mesma norma de declaração de variáveis, mas colocando-se um par de colchetes após o nome do vetor ou após o tipo de dado que o vetor armazena: ou Declarar um vetor não é o mesmo que criá-lo. Somente reserva um espaço de memória para a variável que referencia o vetor. Para criá-lo, devemos fazer: Declaração e criação podem ser feitas em uma só linha: Em Java, é obrigatório definir-se o número de elementos no momento da criação do vetor.
Manipulando elementos de um vetor Tomando o vetor salarios da página anterior, podemos manipulá-lo de variadas formas. Veja: Associando determinado valor literal: Mostrando o conteúdo de determinada posição do vetor: Usando uma variável como índice: Usando uma constante como índice: Usando uma expressão como índice:
Inicialização automática de valores associa idades a um endereço de memória e inicializa cada um dos 10 elementos do vetor com o valor-padrão zero; Se o vetor for do tipo, cada posição do vetor é automaticamente inicializada com, que é o código Unicode para o ; Se o vetor for de valores ou, os elementos recebem o valor ; Se for um vetor inicializados com ;, os elementos são Se os elementos do vetor forem, quaisquer que sejam eles, todas as posições são definidas para. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli
Inicializando vetores Podemos inicializar vetores ao mesmo tempo em que eles são declarados e criados. Para tanto, fornecemos uma lista de valores separados por vírgula e colocados entre chaves, assim: Esta ação é conhecida pela expressão "popular um vetor"; Outra variante da declaração acima seria: Podemos utilizar variáveis ao invés de valores literais:
Percorrendo um vetor Na maior parte do tempo, nossa aplicação precisa realizar as mesmas tarefas sobre cada um dos elementos de um vetor. Nesta situação, podemos utilizar laços de repetição para facilitar o trabalho: Quando não sabemos o tamanho de um vetor, podemos usar a variável de instância length, que contém o número de elementos de um vetor:
O laço foreach Em Java, há uma estrutura de repetição simplificada, criada especialmente para ler os valores dos elementos de um vetor. É conhecido como laço foreach. Exemplo: Neste exemplo, valor é uma variável inteira, que irá receber, a cada iteração, um elemento do vetor idades. Valor pode ser substituído por qualquer nome válido de variável.
Vetores de objetos Considere a classe ao lado. Se quisermos criar um vetor, onde cada elemento é um objeto da classe empregado, devemos fazer: Para acessar os métodos de cada empregado, teríamos: System.out.println(empregado s[i].lermatricula + empregados[i].lersalario);
Foreach com objetos Podemos usar o laço simplificado para percorrer mais facilmente um vetor de objetos. Usando o exemplo da página anterior, teríamos: trabalhador é uma variável local que armazena um objeto do tipo Empregado a cada repetição; Esta construção elimina a necessidade de se definir um tamanho para o vetor e um índice para referenciar seus elementos.
Manipulando vetores de strings IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores de strings podem ser criados e manipulados como qualquer outro objeto. Exemplo: String[] pessoas = {"Maria", "João", "Joana"}; for(int i = 0; i < pessoas.length; i++) System.out.println(pessoas[i]);
Vetores de caracteres IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores compostos por elementos do tipo char podem ser impressos com uma única declaração, sem o uso de um laço de repetição: Exemplo:
Copiando vetores IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Existem situações onde precisamos duplicar os elementos de um vetor, gerando outro vetor idêntico. Podemos usar um laço de repetição para isso:
Passando vetores para métodos Vetores podem ser passados como argumentos na chamadas de métodos ou usados como parâmetros na definição de métodos da mesma forma como os tipos de dados primitivos. Considere o seguinte vetor: Passando o vetor como parâmetro de um método: Invocando um método e usando o vetor como argumento:
Retornando um vetor de um método IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Métodos podem retornar um vetor. Basta colocar colchetes no tipo de retorno no cabeçalho do método. Dentro do corpo do método, a declaração return não usa colchetes após o nome do vetor. Exemplo: A chamada deste método poderia ser:
A classe Arrays A classe java.util.arrays disponibiliza vários métodos estáticos que: a. Ordenam os elementos de um vetor: b. Pesquisam por um elemento no vetor (exige que o vetor já esteja ordenado): c. Conferem se dois vetores são iguais (true ou false): d. Preenchem um vetor com determinado elemento: e. Retornam uma string que representa os elementos de um vetor: