Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - Classe Vector • Vector é um array de objetos • Armazena objetos do tipo Object – Todas as classes que criamos herdam Object implicitamente, logo, podemos armazenar nossas classes • Importar pacote java.util – import java.util.*; • Não é necessário determinar tamanho! Ele cresce automaticamente • Permite armazenar objetos de tipos diferentes – Por ex.: posição 1 Pessoa; Posição 2 Data; ... Programação II – Prof. Mateus Raeder Classe Vector • Criando um Vector – Vector v = new Vector( ); • Tamanho inicial é 10 • Incremento default: dobra de tamanho – Vector v = new Vector(int capacidadeInicial); – Vector v = new Vector(int capacidadeInicial, int capacidadeIncremento); Programação II – Prof. Mateus Raeder Classe Vector • Inserindo objetos em um Vector – Inserindo um elemento em uma determinada posição: • v.addElementAt(“azul”, 3); – Inserindo um elemento no final do Vector: • v.addElement(“azul”); Programação II – Prof. Mateus Raeder Classe Vector • Verifica a existência de um elemento no Vector – boolean b = v.contains (“azul”); • retorna true se o elemento existe no Vector, determinado pelo método equals( ) do objeto. • se o objeto não sobrescreve o método equals( ) da classe Object, compara referências de objetos. Programação II – Prof. Mateus Raeder Classe Vector • Retornando um elemento – String str = (String) v.elementAt(3); • Retornando a posição de um elemento – int i = v.indexOf(“azul”); • Retorna a posição do elemento, se o elemento existe no Vector, determinado pelo método equals() do objeto • Retorna -1 se o elemento não existe Programação II – Prof. Mateus Raeder Classe Vector • Substituindo um objeto em uma determinada posição – v.setElementAt(“azul”, 3); • Substitui o objeto na posição 3 pela String “azul” • Removendo um elemento do Vector – boolean b = v.removeElement(“azul”); – v.removeElementAt(3); Programação II – Prof. Mateus Raeder Classe Vector • Tamanho de um Vector – int tam = v.size(); • Convertendo um Vector para array – Object[] elemento = v.toArray(); Programação II – Prof. Mateus Raeder Classe Vector • É importante ressaltar que um objeto Vector só armazena objetos, e não armazena tipos primitivos – Tipos primitivos devem ser armazenados usando seus respectivos wrappers – Wrappers são classes com os mesmos nomes que o tipo primitivo de dado, só que geralmente com a primeira letra em maiúscula (por exemplo, Long, Double, Float, Character, Short, Integer, Byte) – Por que existem os wrappers? • Porque em POO não devem existir tipos de dados primitivos, mas sim apenas objetos e classes Programação II – Prof. Mateus Raeder Exercício: Vector • Faça uma classe que contenha apenas um método main. Neste método, crie um Vector de capacidade 5. Crie um objeto do tipo Aluno para cada posição do Vector. Especifique um nome, um endereço, uma data de nascimento, uma nota e uma turma para cada aluno. Imprima os dados de todos os alunos utilizando um laço for (como imprimir os elementos de um Vector?) • Não esqueça de importar o pacote java.util.*; Programação II – Prof. Mateus Raeder Exercício: Vector • Versões mais novas do Java trazem uma importante e interessante mudança na utilização da classe Vector. Esta mudança é conhecida como Generics. • Do que se trata esta mudança? • Pesquise para a próxima aula e traga um exemplo (pequeno) de código FEITO POR VOCÊ!! – Não esqueça, todo mundo conhece o google... Incluvise eu... Programação II – Prof. Mateus Raeder