Programação Orientada a Objetos

Documentos relacionados
API e Coleções Java. Sérgio Luiz Ruivace Cerqueira

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Algoritmos e Programação II. Coleções. Coleções. Baseado no material do Prof. Julio

Orientação a Objetos AULA 09

Programação Orientada a Objetos. Collections - Java

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade

Lista encadeada class No { Coleções. Enumeration. Lista encadeada (continuação) Enumeration Exemplo usando a classe Lista anterior

Coleções Avançadas. Programação Orientada a Objetos Java. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

Coleções. Prof. Marcelo Roberto Zorzan

Collections. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Java Util Collections - Interfaces Interfaces definidas

Java Standard Edition (JSE)

Coleções em Java. Prof. Gustavo Willam Pereira ENG10082 Programação II. Créditos: Prof. Clayton Vieira Fraga Filho

BSI UFRPE Prof. Gustavo Callou

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções

Laboratório de Programação. Aula 13 Java 5COP088. Aula 13 Genéricos e Conjuntos Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr barbon@uel.

Collections Framework

Atividade 08 - Utilizando Collections - List

Notas de Aula 07: vetores de objetos e coleções

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Java API. Giuliana Silva Bezerra

Tema 7. Colecções AULA TEÓRICA 6. Listas: ArrayList, LinkedList, Vector Ø Criação Ø Manipulação

Programação Orientada a Objetos

Árvores e Mapas. Luís Lopes. Estruturas de Dados DCC-FCUP

Instituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê Disciplina: Linguagem Técnica II Prof o Jonatas Bastos

Aula 11 POO 1 Coleções e Arquivos. Profa. Elaine Faria UFU

JAVA COLLECTIONS API: LISTAS

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 20 Jan/2017.

Programação Orientada a Objetos JAVA - NETBEANS

Estrutura de Dados Listas

COLECÇÕES DE OBJECTOS EM JAVA6

Análise e Projeto Orientados por Objetos

Coleções POO. Prof. Marcio Delamaro

Aplicações de vetores

Programação Orientada a Objetos com Java. Prof. Júlio Machado

Alberto Costa Neto DComp - UFS. Coleções

Técnicas de Programação Avançada TCC Prof.: Anselmo Montenegro

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Paradigmas da Programação PPROG. Linguagem JAVA. Contentores de Objetos

Curso Java Starter. 1

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Java Coleções. Rodrigo C. de Azevedo

O que é um jogo digital?

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Quinta aula

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -

Coleções. Programação Orientada a Objetos Java. Prof. Geraldo Braz Junior

Teoria dos Grafos Aula 3

Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias

Introdução. Coleção HashMap Classe Java. Interesse

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Métodos Genéricos. Prof.: Michele Nasu Tomiyama Bucci

Linguagem de programação Estruturas de armazenamento

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Programação Orientada a Objetos com Java. Prof. Júlio Machado

Transcrição:

Programação Orientada a Objetos Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com

Coleções, Propriedades, Resources e Strings (Parte 2)

Coleções É comum usarmos um objeto que armazena vários outros Agenda é um exemplo API Collections fornece interfaces e classes para coleções Pacote java.util Uma coleção é um objeto que agrupa vários outros Também chamado contêiner Interface Collection 07/09/2011 Prof. Kléber de Oliveira Andrade 3

Principais interfaces/classes de Collection <<interface>> Collection <<interface>> Map <<interface>> List <<interface>> Set HashMap TreeMap ArrayList Vector HashSet TreeSet Hashtable LinkedList 07/09/2011 Prof. Kléber de Oliveira Andrade 4

Interfaces A API oferece alguns tipos de coleções: conjuntos, listas e mapas. Conjunto (Set) Uma coleção de elementos que não mantém uma ordem nem uma contagem dos elementos Cada elemento ou está no conjunto ou não (não há elementos repetidos) Lista (List) Uma sequência de elementos Mantém dados a respeito de ambos, a ordem e a contagem. Mapa (Map) Uma associação entre chaves e valores Ele mantém um conjunto de chaves e mapeia cada chave para um único valor. 07/09/2011 Prof. Kléber de Oliveira Andrade 5

Collection É a raiz da hierarquia Collection Representa um grupo de objetos conhecidos como seus elementos Contém o denominador comum do que todas as coleções implementam Usada para passagem de coleções como parâmetros e para manipulação genérica de grupos de dados A plataforma Java não fornece implementação direta desta interface Implementações são de suas sub-interfaces Possui métodos para acessar, buscar e remover elementos 07/09/2011 Prof. Kléber de Oliveira Andrade 6

Desvantagens das Coleções Menos eficiente que vetores Não aceitam tipos primitivos (só empacotados) Não permitem restringir o tipo específico dos objetos guardados 9tuo é java.lang.object) Aceitam qualquer objeto: uma coleção de Galinhas aceita objetos do tipo Raposa. Requer cast na saída para poder usar objeto 07/09/2011 Prof. Kléber de Oliveira Andrade 7

Set Um conjunto é uma coleção que não tem elementos duplicados. Podem ser mantidos ordenados (SortedSet) ou não. Modela a abstração matemática para conjuntos. Contém os mesmo métodos de Collection Com a restrição de que não podem ser repetidos Três implementações HashSet: implementado com tabela hash TreeSet: implementado com árvore LinkedHashSet: implementado com tabela hash e lista ligadas 07/09/2011 Prof. Kléber de Oliveira Andrade 8

Exemplo usando Set Genéricos Ao ser criado, podemos informar o tipo (classe) do elemento a ser armazenado na coleção HashSet<String> nomes = new HashSet<String>(); Isto porque a coleção é implementada com tipos genéricos onde o tipo é determinado no momento da execução 07/09/2011 Prof. Kléber de Oliveira Andrade 9

Percorrendo coleções Existe duas formas de percorrer coleções 1. Iterator Objeto que permite que todos os elementos da coleção sejam acessados Não sabe-se sobre a implementação Principais métodos: boolean hasnext() : informa se ainda há elementos a serem visitados next(): retorna o próprio elemento a ser visitado 2. For-each É implementado usando o iterator Construção da linguagem JAVA for (Tipo objeto: Coleção) {... } Exemplo: for (String nome: nomes) {... } 07/09/2011 Prof. Kléber de Oliveira Andrade 10

Exemplos Com for-each:... Com iterator:... 07/09/2011 Prof. Kléber de Oliveira Andrade 11

List É uma Collection ordenada (algumas vezes chamada de sequência) Podem contem elementos duplicados Em adição as operações de Collection, inclue: Acesso posicional: manipula elementos baseado na sua posição numérica na lista (índice) Pesquisa: pesquisa por um objeto específico na lista e retorna a sua posição númerica Iteração: herda a semântica Iterator para tomar vantagem da natureza sequencial da lista 07/09/2011 Prof. Kléber de Oliveira Andrade 12

List Duas implementações ArrayList: List implementada com Array LinkedList: implementada com list ligada Métodos de acesso através de índice get(int i): retorna elemento do índice i remove(int i): remove elemento do índice i add(<t> elemento): adiciona elemento depois do último índice Elementos começam no indice zero como nos arrays. 07/09/2011 Prof. Kléber de Oliveira Andrade 13

List Cada elemento tem o seu sucessor (menos o último) e o seu antecessor (menos o primeiro) As operações mais importantes em lista são: Adicionar um objeto em qualquer lugar da lista; Remover um objeto de qualquer lugar da lista; Obter o elemento de qualquer lugar da lista; Percorrer os elementos da lista; Verificar se um elemento está na lista; Descobrir o índice de um elemento na lista; Obter o número de elementos da coleção 07/09/2011 Prof. Kléber de Oliveira Andrade 14

Exemplo usando List 07/09/2011 Prof. Kléber de Oliveira Andrade 15

Map Um mapa armazena pares (chave, valor) chamados de itens. Chaves e valores podem ser de qualquer tipo. As chaves armazenadas nos mapas podem estar ordenados ou não. A chave é utilizada para achar o elemento de forma rápida, utilizando estruturas especiais. Um mapa não pode conter chaves duplicadas Modela a abstração matemática de função Não existe chaves duplicadas em um mapa Também são conhecidos como dicionários 07/09/2011 Prof. Kléber de Oliveira Andrade 16

Map A plataforma Java contém três implementações Map de propósito geral. HashMap, TreeMap e LinkedHashMap O comportamento e a performance são análogos ao de HashSet, TreeSet e LinkedHashSet. Principais métodos put (chave, valor): coloca um novo par chave/elemento no mapa get (chave): retorna o valor correspondente a chava passada como parâmetro 07/09/2011 Prof. Kléber de Oliveira Andrade 17

Exemplo usando Map 07/09/2011 Prof. Kléber de Oliveira Andrade 18

Exercício 1 Criar uma classe ListaDePessoa que possua: Uma lista de Strings para armazenar nomes Um método para adicionar nomes Um método para receber o tamanho da lista Um métod para lista todas as pessoas da lista No programa principal: Crie um menu de opções onde: 1. Adicione um novo nome a lista 2. Exiba todos os nomes da lista 3. Sair do programa Após exibir o menu, mostre quantas pessoas tem na lista 07/09/2011 Prof. Kléber de Oliveira Andrade 19

Exercício 2 Implemente uma Type Safe Collection (ArrayList) que possa conter Círculos. Teste a coleção adicionando, removendo, buscando e imprimindo os objetos da lista Crie um método que retorne a lista como um array. 07/09/2011 Prof. Kléber de Oliveira Andrade 20