• Nenhum resultado encontrado

Listas • Operações

No documento AS BIBLIOTECAS DE JAVA (páginas 65-90)

– Adição de elementos

• Adicionar um objeto em qualquer lugar da lista, fornecendo o índice desejado

– Remoção de elementos

• Remover um objeto presente em qualquer lugar da lista, fornecendo o índice desejado

– Acesso aos elementos

• Obter o elemento de qualquer posição da lista, fornecendo o índice desejado

– Pesquisa de elementos

• Descobrir se um elemento está na lista • Descobrir o índice de um elemento na lista – Indagar sobre os atributos

• Obter o número de elementos da lista • Descobrir se a lista está fazia

ArrayList

• ArrayList é um dos diversos tipos de lista que existe na API de coleções

• Como declarar e usar ArrayList em Java

– Importe:

import java.util.ArrayList;

– Por ser um tipo diferente, sua sintaxe é um pouco diferente do que você já viu até então:

ArrayList< Classe> nomeDoArrayList = new ArrayList< Classe>();

– No exemplo a seguir, vamos usar um ArrayList de String

ArrayList

Método O que faz? Exemplo de Utilização

add(Element e) Adiciona um elemento no fim da lista

nomes.add(“José”) add(int index, Element e) Adiciona um elemento em uma

posição específica

nomes.add(1, “Maria”) remove(Element e) Remove a primeira ocorrência do

elemento na lista, se ele existir.

nomes.remove(“Maria”) remove(int index) Remove o elemento da posição

especificada, deslocando para a esquerda os elementos a direita dessa posição.

nomes.remove(0)

get(int index) Retorna o elemento da posição especificada.

nomes.get(2) set(int index, Element e) Substitui o elemento na posição

especificada pelo passada como parâmetro.

ArrayList

Método O que faz? Exemplo de Utilização

isEmpty Retorna true se a lista está vazia. nomes.isEmpty()

size Retorna o total de elementos presente na lista.

nomes.size() toArray Retorna um Array contendo os

mesmos elementos da lista.

nomes.toArray() contains(Element e) Retorna true se o elemento

existir na lista.

nomes.contains(“Ana” )

indexOf(Element e) Retorna a posição na lista do elemento passado como parâmetro, se ele existir.

nomes.indexOf(“Mari a”)

clear Apaga todos os elementos da lista.

Exercício

1. Crie um ArrayList de Strings

2. Adicione ao ArrayList alguns nomes de parentes da sua família e seu nome

3. Imprima a posição do seu nome 4. Remova o primeiro nome

5. Teste se seu nome ainda está na lista, se estiver imprima a nova posição do seu nome na lista 6. Imprima o elemento da primeira posição

ArrayList

• Para mais detalhes consultem a documentação da classe ArrayList

– https://docs.oracle.com/javase/7/docs/api/java/u til/ArrayList.html

Conjuntos

• Um conjunto consiste em um tipo de coleção de objetos em que não pode haver elementos repetidos e que os elementos podem ou não estar organizados

– Como conjuntos em matemática

A B C D E F G H I J

HashSet e TreeSet

• No HashSet, os objetos do conjunto encontram-se desordenados

– Como usar

• Importe

java.util.HashSet

• Instancie

HashSet<String> nomes = new HashSet<String>();

• No TreeSet, os objetos do conjunto encontram-se ordenados

– Como usar

• Importe

java.util.TreeSet

• Instancie

HashSet e TreeSet

Método O que faz? Como usar?

add(Element e) Adiciona um elemento no conjunto.

nomes.add(“João”). contains(Element e) Retorna true se o elemento

passado como parâmetro existe no conjunto.

nomes.contains(“José”);

isEmpty() Retorna true se o conjunto está vazio.

nomes.isEmpty(); remove(Element e) Remove o elemento do

conjunto.

nomes.remove(“João”);

size() Retorna a quantidade de

elementos do conjunto.

nomes.size(); toArray() Retorna um array com os

mesmos elementos do conjunto.

HashSet e TreeSet

• Mais detalhes sobre essas coleções podem ser encontrados em suas documentações

– https://docs.oracle.com/javase/7/docs/api/java/u til/HashSet.html

– https://docs.oracle.com/javase/7/docs/api/java/u til/TreeSet.html

Mapas

• Funcionam como um dicionário

– Cada elemento está associado a uma chave, utilizando a chave, acessa-se o elemento

diretamente.

– CADA ELEMENTO É MAPEADO POR UMA CHAVA

HashMap

• A classe HashMap é uma das principais implementações de Mapa da API de Java.

– Não é sincronizada

HashMap

• O uso principal da classe HashMap é quando queremos associar chaves e valores e,

posteriormente, recuperar valores baseados em suas chaves.

• Como utilizar

– Importe

import java.util.HashMap;

– Instancie

HashMap

Método O que faz? Como usar?

put(Key k, Element e) Insere no mapa o

elemento e o associa a sua chave.

Pessoa p = new Pessoa(“Cleyton”); mapa.put(“cleyton”, p)

get(Key k) Retorna o elemento passando sua chave.

mapa.get(“cleyton”) remove(Key k) Remove o elemento

passando sua chave.

mapa.remove(“cleyton”) isEmpty() Retorna true se o

mapa está vazio.

mapa.isEmpty() size() Retorna o número de

chaves que existem no mapa.

HashMap

Método O que faz? Como usar?

keySet() Retorna um

conjunto contendo as chaves do mapa.

Set set = mapa.keySet();

values() Retorna uma lista contendo os

elementos do mapa.

List list = mapa.values()

containsKey(Key k) Retorna true se a chave existe no mapa.

mapa.containsKey(“cleyton”)

containsValue(Element e) Retorna true se o elemento existe no mapa.

Pessoa p = new Pessoa(“Cleyton”); mapa.containsValue(p)

HashMap

• Para mais detalhes consultem a

documentação da classe HashMap

– https://docs.oracle.com/javase/7/docs/api/java/u til/HashMap.html

Envelopadores

• Coleções só podem conter objetos!

– Como criar um ArrayList de inteiro?

Envelopadores

• Os envelopadores (wrappers, em inglês) são classes em Java que servem para representar os tipos primitivos

• Cada tipo primitivo possui uma classe para representá-la

Envelopadores

Tipo Primitivo Classe

boolean Boolean char Char byte Byte short Short int Integer long Long float Float double Double

Envelopadores

• Além de representar os tipos primitivos, essas classes possuem diversos métodos bastante úteis

Exemplos

• A classe Integer possui o método longValue que converte um inteiro para double

– Integer i = new Integer(1); – double d = i.doubleValue();

• A classe Integer possui o método estático

parseInt, o qual converte uma String em um número inteiro.

Exercício

• Utilize método estático parseInt e o método nextLine de Scanner para ler uma String e convertê-la em um número

Exercício

• Utilize método estático parseInt e o método nextLine de Scanner para ler uma String e convertê-la em um número

• Solução

– Scanner s = new Scanner(System.in); – int i = Integer.parseInt(s.nextLine());

No documento AS BIBLIOTECAS DE JAVA (páginas 65-90)

Documentos relacionados