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

Tamanho: px
Começar a partir da página:

Download "API e Coleções Java. Sérgio Luiz Ruivace Cerqueira"

Transcrição

1 API e Coleções Java Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

2 Java API

3 Introdução API Endereço

4 API - Descrição

5 API - Resumo

6 API - Detalhes

7 Coleções Java

8 Introdução a Coleções Coleção Objeto que agrupa múltiplos elementos em uma única unidade Armazena, recupera e manipula dados agregados Representa itens de dados que formam um grupo natural Como uma caixa de s ou uma lista telefônica Implementações de coleção em versões Java pré-1.2 Incluíam Vector, Hashtable e Array Não existia ainda um framework de coleções

9 Framework de Coleções Arquitetura unificada para representar e manipular coleções Interfaces Tipos abstratos de dados que representam coleções Coleções são manipuladas independentemente da representação Implementações Implementações concretas das interfaces de coleção Estruturas de dados reusáveis Algoritmos Métodos que realizam computações úteis Exemplo: busca e ordenação sobre objetos que implementam as interfaces de coleção Ditos polimórficos mesmo método pode ser usado em diferentes implementações da interface de coleção apropriada Funções reusáveis

10 Interfaces Hierarquia de diferentes tipos de coleções Permitem a manipulação de dados independentemente da representação Set é um tipo especial de Collection SortedSet é um tipo de Set Hierarquia consiste de duas árvores diferentes Map não é um Collection verdadeiro

11 Interfaces Interfaces de coleção são genéricas public interface Collection<E>... <E> significa que a interface é genérica Declaração de instância de Collection Especificar o tipo de objeto contido na coleção List<String> list = new ArrayList<String>(); Permite verificação em tempo de compilação Tipo de objeto a ser armazenado na coleção está correto

12 Interfaces Collection Set List Raiz da hierarquia de coleções Usada quando uma generalidade máxima é necessária Java não provê implementações diretas desta interface Coleção que não pode conter elementos duplicados Modela a abstração matemática de conjuntos Exemplo: processos executando em uma máquina Chamada de seqüência, é uma coleção ordenada Pode conter elementos duplicados. O usuário de List pode controlar a posição em que um elemento é inserido e acessa elementos através de um índice Noção de vetores

13 Interfaces Queue Coleção de elementos com prioridades associadas Provê operações de inserção, extração e inspeção Tipicamente ordena elementos no esquema FIFO Entre as exceções, estão as filas de prioridade Map Objeto que mapeia chaves e valores Não pode conter chaves duplicadas Corresponde ao uso de Hashtables SortedSet Set com elementos em ordem ascendente SortedMap Map com chaves em ordem ascendente

14 Interface Collection: Operações public interface Collection<E> extends Iterable<E> { //Basic operations int size(); boolean isempty(); boolean contains(object element); boolean add(e element); //optional boolean remove(object element); //optional Iterator iterator(); //Bulk operations boolean containsall(collection<?> c); boolean addall(collection<? extends E> c); //optional boolean removeall(collection<?> c); //optional boolean retainall(collection<?> c); //optional void clear(); //optional //Array operations Object[] toarray(); <T> T[] toarray(t[] a); }

15 Interface Collection: Iterador Iterador Permite percorrer uma coleção e remover elementos seletivamente. public interface Iterator<E> { boolean hasnext(); E next(); void remove(); //optional } hasnext() retorna true se a iteração possui mais elementos next() retorna o próximo elemento na iteração. remove() remove o último elemento retornado pelo next() pode ser chamado somente uma vez por next() levanta exceção caso a regra seja violada

16 Interface Set: Implementações Implementa a abstração matemática de conjuntos Contém somente métodos herdados de Collection Adiciona a restrição de que duplicações não são possíveis Três implementações de Set: HashSet elementos em uma tabela hash melhor performance nenhuma garantia quanto à ordem de iteração TreeSet elementos em uma árvore vermelho-preto substancialmente mais lento que HashSet ordena elementos baseados em seus valores. LinkedHashSet elementos em uma tabela hash associada a uma lista encadeada apenas um pouco mais lento que HashSet ordena elementos por ordem de inserção

17 Interface Set: Operações public interface Set<E> extends Collection<E> { //Basic operations int size(); boolean isempty(); boolean contains(object element); boolean add(e element); //optional boolean remove(object element); //optional Iterator iterator(); //Bulk operations boolean containsall(collection<?> c); boolean addall(collection<? extends E> c); //optional boolean removeall(collection<?> c); //optional boolean retainall(collection<?> c); //optional void clear(); //optional //Array operations Object[] toarray(); <T> T[] toarray(t[] a); }

18 Interface Set: Exemplo import java.util.*; public class FindDups { public static void main(string args[]) { Set<String> s = new HashSet<String>(); for (String a : args) if (!s.add(a)) System.out.println("Duplicate: " + a); System.out.println(s.size()+" distinct words: "+s); } } Toma palavras em args[] e imprime uma mensagem que indica se há duplicação de palavras o número de palavras distintas lista das plavras duplicadas eliminadas

19 Interface Set: Exemplo Saída do programa java FindDups i came i saw i left : Duplicate: i Duplicate: i 4 distinct words: [i, left, saw, came] HashSet não dá garantias quanto à ordem dos elementos no Set Para obter as palavras em ordem alfabética, basta modificar HashSet para TreeSet Nova saída para java FindDups i came i saw i left Duplicate word: i Duplicate word: i 4 distinct words: [came, i, left, saw]

20 Interface List: Implementações List Collection ordenado Pode conter duplicações List inclui as seguintes operações (além das de Collection) acesso posicional manipulação de elementos baseada na posição numérica destes na lista busca procura por um objeto especificado na lista e retorna sua posição numérica Iteração extende a semântica de Iterator, a fim de tirar vantagem da natureza seqüencial da lista de intervalo operações em intervalos arbitrários da lista Implementações para List ArrayList (possui a melhor performance) LinkedList

21 Interface List: Operações public interface List<E> extends Collection<E> { } //Positional access E get(int index); E set(int index, E element); //optional boolean add(e element); //optional void add(int index, E element); //optional E remove(int index); //optional abstract boolean addall(int index, Collection<? extends E> c); //optional //Search int indexof(object o); int lastindexof(object o); //Iteration ListIterator<E> listiterator(); ListIterator<E> listiterator(int index); //Range-view List<E> sublist(int from, int to);

22 Interface List: Operações Operações de iteração List provê um iterator sofisticado que permite percorrer a lista em ambas direções modificar a lista durante a iteração obter posição do iterador public interface ListIterator<E> extends Iterator<E> { boolean hasnext(); E next(); boolean hasprevious(); E previous(); int nextindex(); int previousindex(); void remove(); //optional void set(e o); //optional void add(e o); //optional }

23 Exercício: Sintaxe e IDE Eclipse Escreva um programa que Entrada: ano no formato yyyy (ex: 1998, 2006,...) Saída: calendário do ano no formato: Exemplo: Dia da Semana, dia/mês/ano. Imprimir na Tela Entrada: 2006 Saída: Dom, 01/01/2006 Seg, 02/01/2006 Ter, 03/01/ Sab, 30/12/2006 Dom, 31/12/2006 Dica: use a documentação da JAVA API

24 Fim

Java Util Collections - Interfaces Interfaces definidas

Java Util Collections - Interfaces Interfaces definidas Java Util Collections - Interfaces Interfaces definidas 245 Collection Raiz da hierarquia Grupo mais genérico de elementos Não garante nas implementações Duplicatas Ordenação Não possui nenhuma implementação

Leia mais

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

Coleções em Java. Prof. Gustavo Willam Pereira ENG10082 Programação II. Créditos: Prof. Clayton Vieira Fraga Filho Coleções em Java Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Introdução O que é uma coleção? Um objeto que agrupa múltiplos elementos em uma única unidade

Leia mais

01/06/2016 INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS. Programa Capítulo 15. Coleções. A Interface List. A Classe LinkedList. Exercício.

01/06/2016 INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS. Programa Capítulo 15. Coleções. A Interface List. A Classe LinkedList. Exercício. INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 15 Coleções A Interface List A Classe LinkedList Exercício A Interface

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos 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

Leia mais

Coleções. João Paulo Q. dos Santos

Coleções. João Paulo Q. dos Santos Coleções João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre coleções; Tipos de coleções; Como são classificadas; Exemplos. 04/02/14 2 Coleções Classes e interfaces do pacote java.util

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Java Collections Framework (JCF) Uma coleção (collection) é um objeto que agrupa vários elementos. A JCF consiste numa arquitetura para representação e manipulação de coleções. Contém: - Um conjunto de

Leia mais

Desenvolvimento e Projeto de Aplicações Web

Desenvolvimento e Projeto de Aplicações Web Desenvolvimento e Projeto de Aplicações Web cecafac@gmail.com Coleções Conteúdo 1 Introdução Desde a versão 1.2 do JDK, a plataforma J2SE inclui um framework de coleções (Collections) Uma coleção é um

Leia mais

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

Collections. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Collections Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Coleções em Java As coleções agrupam vários

Leia mais

Prof. Fernando V. Paulovich 8 de novembro de SCC Programação Orientada a Objetos

Prof. Fernando V. Paulovich  8 de novembro de SCC Programação Orientada a Objetos Coleções a Tipos Genéricos em Java SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação

Leia mais

Coleções. Prof. Marcelo Roberto Zorzan

Coleções. Prof. Marcelo Roberto Zorzan Coleções Prof. Marcelo Roberto Zorzan Coleções Aula de Hoje Introdução Coleções podem representar estruturas de dados complexas de forma transparente para o programador. Exemplos: Músicas favoritas armazenadas

Leia mais

COLECÇÕES DE OBJECTOS EM JAVA6

COLECÇÕES DE OBJECTOS EM JAVA6 COLECÇÕES DE OBJECTOS EM JAVA6 ESTUDO DO JAVA COLLECTIONS FRAMEWORK 5.0 PARTE I F. Mário Martins DI/Universidade do Minho 2007/2008 F. Mário Martins 2007/2008 Colecções de JAVA6 (Parte I) 1 COMPOSIÇÃO/AGREGAÇÃO

Leia mais

Orientação a Objetos AULA 09

Orientação a Objetos AULA 09 Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este

Leia mais

JAVA COLLECTIONS API: LISTAS

JAVA COLLECTIONS API: LISTAS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA COLLECTIONS API: LISTAS FOZ DO IGUAÇU 2013 LISTA DE QUADROS QUADRO 1 EXEMPLO DE LIST,

Leia mais

UFCG - CEEI DSC Grupo PET Computação Ciclo de Seminários

UFCG - CEEI DSC Grupo PET Computação Ciclo de Seminários UFCG - CEEI DSC Grupo PET Computação Ciclo de Seminários Flávio Henrique Farias e Gleyser Guimarães flvhfarias@gmail.com gleyser.bonfim.guimaraes@ccc.ufcg.edu.br Ciclo de Seminários, outubro 2012 1 Apresentando

Leia mais

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

Lista encadeada class No { Coleções. Enumeration. Lista encadeada (continuação) Enumeration Exemplo usando a classe Lista anterior Coleções Retirado do Tutorial Java class Lista { No inicio = null; Lista encadeada class No { void insereinicio(object obj) { No n = new No(obj, inicio); inicio = n; Object obj; No prox; No(Object obj,

Leia mais

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

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções Implementação de Genéricos, Iteradores Isabel Harb Manssour Porto Alegre, maio de 2006 Roteiro Implementação de Genéricos Coleções Conceito de Genérico Implementação Iteradores Conceito Utilização ForEach

Leia mais

PRDS - Programa de Residência em Desenvolvimento de Software

PRDS - Programa de Residência em Desenvolvimento de Software PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Andrew acosta@inf.puc-rio.br Rodrigo Paes rbp@les.inf.puc-rio.br Carlos Lucena lucena@inf.puc-rio.br

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com Coleções List Set Map Classes e interfaces do pacote java.util que representam listas, conjuntos e mapas. Solução flexível para armazenar objetos. Quantidade

Leia mais

Coleções. Profa. Thienne Johnson EACH/USP

Coleções. Profa. Thienne Johnson EACH/USP Coleções Profa. Thienne Johnson EACH/USP Java, how to program, 6ª edição Deitel & Deitel Capítulo 19 Java API - Collections http://java.sun.com/j2se/1.4.2/docs/api/java/util/ Collection.html A estrutura

Leia mais

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

Coleções Avançadas. Programação Orientada a Objetos Java. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Coleções Avançadas Programação Orientada a Objetos Java Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender como o conceito de coleção pode ser expresso de forma genérica Examinar

Leia mais

Programação OO em Java

Programação OO em Java Programação OO em Java Baseado nos materiais de Profa. Andréa S. Charão Prof. Guilherme D. Juraszek (rev. de Alexandre G. Silva, 09/2017) Sumário Classes abstratas Interfaces Tipos genéricos Coleções Classes

Leia mais

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

Paradigmas da Programação PPROG. Linguagem JAVA. Contentores de Objetos PPROG Paradigmas da Programação Linguagem JAVA Contentores de Objetos Nelson Freire (ISEP DEI-PPROG 2012/13) 1/33 Contentores Sumário Noção de Contentor Categorias de Contentores Conjunto Lista Fila de

Leia mais

Atividade 08 - Utilizando Collections - List

Atividade 08 - Utilizando Collections - List Atividade 08 - Utilizando Collections - List A Figura 1 mostra a árvore da hierarquia de interfaces e classes da Java Collections Framework que são derivadas da interface Collection. O diagrama usa a notação

Leia mais

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli A classe ArrayList Java oferece uma classe chamada ArrayList, que permite a criação e manipulação de objetos; Um objeto ArrayList é semelhante a um vetor de objetos, mas oferece inúmeras vantagens em relação

Leia mais

Java API. Giuliana Silva Bezerra

Java API. Giuliana Silva Bezerra Java API Giuliana Silva Bezerra Leitura e escrita de arquivos Java.io.file Escrita de arquivos Java.io.PrintWriter 1. Criar instância de Java.io.PrintWriter PrintWriter saida = new PrintWriter( Diretorio

Leia mais

ArrayList. null. null. null ... ArrayList<Ponto2D>

ArrayList. null. null. null ... ArrayList<Ponto2D> FICHA PRÁTICA 4 SÍNTESE TEÓRICA LABORATÓRIO DE COLECÇÕES I ARRAYLIST Em JAVA5, tal como em algumas outras linguagens de programação por objectos, certas estruturações de objectos (colecções) são parametrizadas,

Leia mais

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

Técnicas de Programação Avançada TCC Prof.: Anselmo Montenegro Técnicas de Programação Avançada TCC- 00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br Conteúdo: Coleções Material elaborado com contribuição do Professor Luiz André Interfaces

Leia mais

PRDS - Programa de Residência em Desenvolvimento de Software

PRDS - Programa de Residência em Desenvolvimento de Software PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena lucena@inf.puc-rio.br Rodrigo Paes rbp@les.inf.puc-rio.br Gustavo Carvalho

Leia mais

Programação II Java Collections Framework (JCF) Christopher Burrows

Programação II Java Collections Framework (JCF) Christopher Burrows Programação II Java Collections Framework (JCF) Christopher Burrows Arrays Um Array é um contentor que armazena um número fixo de valores de um tipo. Exemplo: int arrayint[] = new int[9];

Leia mais

8.1 Introdução. Tópicos

8.1 Introdução. Tópicos 8 - Colecções e Tipos Parametrizados Tópicos Introdução ao Java Collections Framework (JCF); Tipos parametrizados; Tipo parametrizado ArrayList; Iteradores de colecções; Auto Boxing-Unboxing; Tipos

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 31 de outubro de 2017 Marco Antonio

Leia mais

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

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade Page 1 podem ser comparadas com arrays, visto que também apresentam a capacidade de armazenar referências para vários objetos. Entretanto, as coleções apresentam uma gama de funcionalidades bem maior do

Leia mais

APIs DAS PRINCIPAIS CLASSES E INTERFACES JAVA6 USADAS NOS PROJECTOS. F. Mário Martins

APIs DAS PRINCIPAIS CLASSES E INTERFACES JAVA6 USADAS NOS PROJECTOS. F. Mário Martins APIs de Classes e de Interfaces de JAVA6 APIs DAS PRINCIPAIS CLASSES E INTERFACES JAVA6 USADAS NOS PROJECTOS F. Mário Martins DI/UM V1.1-2008 APIs de Classes e Interfaces de JAVA6 1 Input /* Métodos de

Leia mais

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

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

Algoritmos e Programação II. Coleções. Coleções. Baseado no material do Prof. Julio Algoritmos e Programação II Baseado no material do Prof. Julio Coleções Java disponibiliza classes que facilitam o agrupamento e processamento de objetos em conjuntos: Coleções (Java Collections Framework).

Leia mais

Programação Orientada a Objetos. Collections - Java

Programação Orientada a Objetos. Collections - Java 1 Programação Orientada a Objetos Collections - Java Coleções Conceito Geral Uma coleção é uma estrutura de dados que permite armazenar vários objetos. Em Java, a coleção também é um objeto. As operações

Leia mais

Java Collections Framework II

Java Collections Framework II Java Collections Framework II Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 Gilad Bracha, Generics in the Java Programming Language a.k.a The

Leia mais

Técnicas de Programação Avançada TCC- 00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br

Técnicas de Programação Avançada TCC- 00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br Técnicas de Programação Avançada TCC- 00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br Conteúdo: Coleções Material elaborado com contribuição do Professor Luiz André Coleções Uma

Leia mais

Programação Java Aula 04

Programação Java Aula 04 Programação Java Aula 04 Tópicos da aula Declarar e instanciar arrays. Popular e percorrer arrays. 2 Vetor (array) (1) Declarando um vetor de inteiros: int[] idades = new int[10]; O int[] é um tipo. Uma

Leia mais

Estruturas de dados dinâmicas e Genéricos. Capítulo 10

Estruturas de dados dinâmicas e Genéricos. Capítulo 10 Estruturas de dados dinâmicas e Genéricos Capítulo 10 Objectivos Ficar familiar com vectores Aprender estruturas de dados ligadas em Java Aprender a manipular listas ligadas Aprender a usar classes internas

Leia mais

1. Por que não utilizar a notação de composição da UML para mostrar que um cachorro é composto de altura, peso, cor e data de nascimento?

1. Por que não utilizar a notação de composição da UML para mostrar que um cachorro é composto de altura, peso, cor e data de nascimento? 1. Por que não utilizar a notação de composição da UML para mostrar que um cachorro é composto de altura, peso, cor e data de nascimento? 2. Esboce um diagrama de classes para um capítulo de livro com

Leia mais

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas: Diagramas de Interação Os modelos de análise não respondem a algumas perguntas: Como as operações do sistema são executadas internamente? A que classes estas operações internas pertencem? Quais objetos

Leia mais

Capítulo 21. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 21. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 21 Coleções Objetivos do Capítulo Analisar o conceito de coleção e sua relação com as estruturas de dados. Apresentar a arquitetura do framework de coleções do Java. Indicar as classes e interfaces

Leia mais

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

Introdução. Coleção HashMap Classe Java. Interesse Coleção Classe Java Introdução Interesse Modelar correspondências unívocas (1 para 1) entre objetos, do tipo chave-valor. Associações entre: um elemento de um conjunto de chaves um elemento de uma coleção

Leia mais

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são: Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Prof a. Edhelmira Lima Programação Orientada a Objetos Conteúdo: Exercícios Java Exercício 1 3 Exercício 1 Defina classes e/ou interfaces que modelem objetos geométricos. Os objetos geométricos são: retângulo,

Leia mais

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

Notas de Aula 07: vetores de objetos e coleções Notas de Aula 07: vetores de objetos e coleções Objetivos da aula: Entender a sintaxe de vetores em Java Compreender o uso do vetor como um objeto Uso das coleções em Java Recordando... Na aula passada

Leia mais

Coleções. Leonardo Gresta Paulino Murta.

Coleções. Leonardo Gresta Paulino Murta. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Estudaremos algumas das coleções disponíveis no Java Lista Conjunto Dicionário 2 Exercício MoFvacional Até agora vimos arrays como variáveis

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 07 APRESENTAÇÃO Nesta aula vamos discutir como implementar um tipo abstrato

Leia mais

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

Aula 11 POO 1 Coleções e Arquivos. Profa. Elaine Faria UFU Aula 11 POO 1 Coleções e Arquivos Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Tipos Parametrizados ou Genéricos Os tipos parametrizados ou genéricos são a solução para esse problema

Leia mais

17/9/15. Programação III Polimorfismo (cont.) Classes abstratas Interfaces. Agenda. Exemplo de polimorfismo. Exemplo de polimorfismo

17/9/15. Programação III Polimorfismo (cont.) Classes abstratas Interfaces. Agenda. Exemplo de polimorfismo. Exemplo de polimorfismo Programação III Polimorfismo (cont.) Classes abstratas Interfaces Agenda Polimorfismo Classes abstratas Interfaces Coleções Prof. João Paulo A. Almemida Slides adaptados do Prof. Vítor Silva Souza, com

Leia mais

APIs Java: Tratamento de exceções e Coleções

APIs Java: Tratamento de exceções e Coleções APIs Java: Tratamento de exceções e Coleções POO29004 Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/poo 16 DE ABRIL DE 2019 Tratamento de Exceções Um simples

Leia mais

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

Programação Orientada a Objetos com Java. Prof. Júlio Machado Programação Orientada a Objetos com Java Prof. Júlio Machado julio.machado@pucrs.br HERANÇA Herança Herança é uma relação de generalização/especialização entre classes A ideia central de herança é que

Leia mais

Collections Framework

Collections Framework Collections Framework 1 Arrays p Manipular array é bastante trabalhoso. p Dificuldades aparecem em diversos momentos: n não podemos redimensionar um array em Java; n é impossível buscar diretamente por

Leia mais

5. Generics, Iterators e Comparable em Java

5. Generics, Iterators e Comparable em Java 5. Generics, Iterators e Comparable em Java Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 1 / 12 Tipos de Dados Abstractos

Leia mais

Aplicações de vetores

Aplicações de vetores O TAD Vetor O TAD Vetor extende a noção de arranjo (array) armazenando sequências de objetos arbitrários Um elemento pode ser acessado, inserido ou removido através da especificação de sua colocação (rank)

Leia mais

Coleções POO. Prof. Marcio Delamaro

Coleções POO. Prof. Marcio Delamaro Coleções POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/54 Definição Interface Collection E - the type of elements in this collection The root interface in

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 05 Padrões GoF (Singleton e Iterator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Subtipagem e Coringas Lista é subtipo de Lista para qualquer T Não podemos chamar métodos em Lista

Leia mais

ESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA

ESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA ESTRUTURAS DE DADOS E ALGORITMOS 1 LISTA LIGADA Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande LISTA LIGADA (LINKED LIST) É uma estrutura de dados em que

Leia mais

ESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA (ABORDAGEM RECURSIVA)

ESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA (ABORDAGEM RECURSIVA) ESTRUTURAS DE DADOS E ALGORITMOS 1 LISTA LIGADA (ABORDAGEM RECURSIVA) Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande QUESTÕES DE IMPLEMENTAÇÃO Implementacao

Leia mais

Programação Orientada a Objetos. Encapsulamento

Programação Orientada a Objetos. Encapsulamento Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências

Leia mais

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Classes abstratas Interfaces Tipos genéricos Coleções Classes abstratas São classes que não podem ser instanciadas, porque representam

Leia mais

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

Instituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê Disciplina: Linguagem Técnica II Prof o Jonatas Bastos Instituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê Disciplina: Linguagem Técnica II Prof o Jonatas Bastos Nome: LISTA DE EXERCÍCIO 1 Collections Framework 1. Criem um projeto que

Leia mais

Java Standard Edition (JSE)

Java Standard Edition (JSE) Java Standard Edition (JSE) 13. Collections framework Esp. Márcio Palheta Gtalk: marcio.palheta@gmail.com 1 Agenda Revisão de dificuldades com Arrays; Trabalhando com Listas - List; Uso de Generics; Interfaces

Leia mais

Herança vs Composição

Herança vs Composição Herança vs Composição Herança: class B extends A B is a A Composição: class B { A a;... B uses a A ou B has a A A is a component of B 94 Herança vs Composição Apesar da herança ser uma forma poderosa de

Leia mais

Iterator. Professor: Hyggo Almeida

Iterator. Professor: Hyggo Almeida Professor: Hyggo Almeida Utilização de estruturas de dados Vector, ArrayList, HashSet,... Vector collection; public void classexusando(vector col){... ArrayList collection; public void classewusando(arraylist

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Collections Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 08 Arranjos, Listas, Filas, Pilhas, Conjuntos e Mapas 1 Introdução Java fornece implementação de Estruturas de Dados recorrentemente utilizadas.

Leia mais

JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 19 de outubro de 12

JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 19 de outubro de 12 JAVA Tópicos Especiais de Programação Orientada a Objetos 1 CONJUNTOS DE DADOS COLEÇÕES 2 COLEÇÕES O que são as coleções em Java? 3 COLEÇÕES Coleção é um objeto onde podemos agrupar vários elementos. No

Leia mais

Aplicações de vetores

Aplicações de vetores O TAD Vetor O TAD Vetor extende a noção de arranjo (array) armazenando sequências de objetos arbitrários Um elemento pode ser acessado, inserido ou removido através da especificação de sua colocação (rank)

Leia mais

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.

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. 5COP088 Laboratório de Programação Aula 13 Genéricos e Conjuntos Java Prof. Dr. Sylvio Barbon Junior 1 Sumário: 1) Métodos hashcode(), equals() e tostring(); 2) Conjuntos; 3) Genéricos; 4) Resumo. 2 1)

Leia mais

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Classes abstratas Interfaces Tipos genéricos Coleções Introdução GUI Classes abstratas São classes que não podem ser instanciadas,

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Linguagem de Programação Orientada a Objeto Coleções

Linguagem de Programação Orientada a Objeto Coleções Linguagem de Programação Orientada a Objeto Coleções Professora Sheila Cáceres Coleções Uma coleção é uma estrutura de dados que permite armazenar vários objetos As operações que podem ser feitas em coleções

Leia mais

Estruturas de Dados Encadeadas

Estruturas de Dados Encadeadas CURSO: Ciência da Computação DATA: / / 2016 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 14 APRESENTAÇÃO Na aula de hoje vamos apresentar e discutir conceitos

Leia mais

11 Utilidades. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza

11 Utilidades. Desenvolvimento OO com Java. Vítor E. Silva Souza  ~ vitorsouza Desenvolvimento OO com Java 11 Utilidades Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito

Leia mais

Conceitos de Interface; classes abstratas; Diagrama de sequencia, Diagrama de atividades, classes aninhadas e Listas dinâmicas

Conceitos de Interface; classes abstratas; Diagrama de sequencia, Diagrama de atividades, classes aninhadas e Listas dinâmicas Curso APOO Disciplina Linguagem de Programação II Curso Engenharia da Computação Conceitos de Interface; classes abstratas; Diagrama de sequencia, Diagrama de atividades, classes aninhadas e Listas dinâmicas

Leia mais

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 08 Estruturas de Condição Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Entrada de Dados; Estruturas de Controle: Estrutura de Sequência;

Leia mais

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

Programação Orientada a Objetos com Java. Prof. Júlio Machado Programação Orientada a Objetos com Java Prof. Júlio Machado julio.machado@pucrs.br TÉCNICA DE PROGRAMAÇÃO RECURSÃO Recursão Algoritmo recursivo é aquele que contém, em sua descrição, uma ou mais chamadas

Leia mais

Tabelas de Dispersão. Tabela de Dispersão

Tabelas de Dispersão. Tabela de Dispersão Tabelas de Dispersão Sumário Definição. Características. Resolução de colisões: dispersão aberta e dispersão fechada. Teste quadrático. Desempenho de tabelas de dispersão. Interface de tabela de dispersão.

Leia mais

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;

Leia mais

Linguagem de programação Estruturas de armazenamento

Linguagem de programação Estruturas de armazenamento Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Estruturas de armazenamento Professor: Saulo Henrique Cabral Silva ESTRUTURAS DE ARMAZENAMENTO 2 Estruturas de armazenamento

Leia mais

Especialização em web com interfaces ricas

Especialização em web com interfaces ricas Especialização em web com interfaces ricas Conceitos avançados de programação Prof. Fabrízzio Alphonsus A. M. N. Soares fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com Instituto de Informática Universidade

Leia mais

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins Prova PMR00 o. semestre 0 Prof. Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço.. ( pontos) Um heap binário é uma árvore binária completa (todos os níveis exceto o último

Leia mais

Lista Ligada. Nó de Lista Ligada

Lista Ligada. Nó de Lista Ligada Lista Ligada Estrutura com nós que armazenam elementos manter referências para elementos do início e fim da lista Operações Inserir: a seguir à posição corrente Remover: na posição corrente Pesquisar:

Leia mais

Programação com genéricos

Programação com genéricos Programação com genéricos Laboratório de Programação Pedro Vasconcelos, DCC/FCUP Fevereiro 2015 Tipos genéricos tipos genéricos permitem definir classes ou interfaces que são parameterizadas por outras

Leia mais

Generics. Byron Leite e Bruno Fernandes. Orientação a objetos com Java. 1 Generics

Generics. Byron Leite e Bruno Fernandes. Orientação a objetos com Java. 1 Generics Orientação a objetos com Java Generics Byron Leite e Bruno Fernandes {byronleite,bjtf@ecomp.poli.br 1 Generics Agenda Geral Parte 07 Exceções Parte 08 Exceções Parte 09 Classes úteis Generics Arquitetura

Leia mais

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes

Leia mais

Paradigmas da Programação PPROG GENÉRICOS. (Livro Big Java, Late Objects Capítulo 18) Nelson Freire (ISEP DEI-PPROG 2014/15) 1/23

Paradigmas da Programação PPROG GENÉRICOS. (Livro Big Java, Late Objects Capítulo 18) Nelson Freire (ISEP DEI-PPROG 2014/15) 1/23 PPROG Paradigmas da Programação GENÉRICOS (Livro Big Java, Late Objects Capítulo 18) Nelson Freire (ISEP DEI-PPROG 2014/15) 1/23 Genéricos Sumário Noção de Genérico Interesse dos Genéricos Tipos Parametrizados

Leia mais

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

Tema 7. Colecções AULA TEÓRICA 6. Listas: ArrayList, LinkedList, Vector Ø Criação Ø Manipulação Tema 7. Colecções AULA TEÓRICA 6 Listas: ArrayList, LinkedList, Vector Ø Criação Ø Manipulação 1 Colecções em Java Já aprendemos arrays que são um meio simples e eficaz de manipular conjuntos de dados.

Leia mais

FILAS. As coisas de que uma fila é feita serão chamadas itens. Os itens podem ser números, strings, structs, etc., etc.

FILAS. As coisas de que uma fila é feita serão chamadas itens. Os itens podem ser números, strings, structs, etc., etc. KATIA LIMA FILAS RAFAEL DA SILVA REIAS JEFFERSON DA SILVA OLIVEIRA RAFFAELA LEITE SANTANA EXISTEM MUITOS EXEMPLOS DE FILA NO MUNDO REAL: UMA FILA DE BANCO; NO PONTO DE ÔNIBUS; UM GRUPO DE CARROS AGUARDANDO

Leia mais

Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins

Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins Prova PMR0 o semestre 0 Prof Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço ( pontos) Uma árvore binária de busca é uma árvore binária na qual para qualquer sub-árvore

Leia mais

Lista de Exercícios 04

Lista de Exercícios 04 Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC202 - Estruturas de Dados I Professor: Túlio Toffolo (www.decom.ufop.br/toffolo)

Leia mais

Java - Genéricos. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP

Java - Genéricos. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP Java - Genéricos BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Genéricos A programação de genéricos nos permite criar modelos genéricos Métodos

Leia mais