5. Generics, Iterators e Comparable em Java

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

Download "5. Generics, Iterators e Comparable em Java"

Transcrição

1 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

2 Tipos de Dados Abstractos Generics em Java A partir do Java 5.0, passamos a ter uma base mais robusta e genérica para lidar com tipos abstractos de dados sem que se tenha de recorrer a castings explícitos. Um tipo de dados genérico é um tipo de dados que não está definido em tempo de compilação, mas que fica completamente especificado em tempo de execução. Vantagens: permite a verificação de erros em tempo de compilação. permite que se definam classes em termos de um conjunto de tipos formais de parâmetros, que podem ser usados para abstrair variáveis internas. Exemplo: em vez de termos uma lista de inteiros, passar a ter uma lista genérica em que o tipo de dados é definido em tempo de execução. Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 2 / 12

3 Object vs. Generics Uma forma de definirmos classes com atributos que pudessem representar qualquer objecto era fazendo uso do tipo de dados Object. Por exemplo, fazendo uso das classes Node e LinkedList do capítulo 4, podemos ter: LinkedList l= new LinkedList(); l.addfirst(new Integer(2)); Integer x= (Integer) l.get(0); // casting explícito A ideia dos tipos genéricos é poder ter, por exemplo, uma definição de lista genérica em que possa posteriormente explicitar qual o tipo particular de dados que vai ter. Por exemplo: LinkedList<Integer> l= new LinkedList<Integer>(); l.addfirst(new Integer(2)); Integer x= l.get(0); Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 3 / 12

4 Exemplo de classe com tipos genéricos Para definir uma classe genérica, introduzimos parâmetros genéricos usando letras como E, K, T, V. Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 4 / 12

5 Definição de uma fila genérica com listas ligadas (1) Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 5 / 12

6 Definição de uma fila genérica (2) Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 6 / 12

7 Iteradores Um iterador é um padrão (i.e. abstracção sobre métodos existentes) que abstrai a noção de percorrer uma sequência de elementos, um de cada vez. Um iterador encapsula os conceitos de elemento corrente e seguinte numa colecção de objectos. Um TAD-iterador inclui dois métodos: hasnext() verifica se ainda existem elementos no iterador next() retorna o próximo elemento do iterador. Uma classe para suportar iteração sobre uma sequência de valores, tem de incluir o método iterator() retorna um iterador sobre elementos de um conjunto e a classe tem de especificar que é iterable. Podemos alargar as definições de Lista ligada, Pilha e Fila com iteradores. Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 7 / 12

8 Exemplo do uso de iteradores com listas ligadas Vamos usar iteradores com a classe LinkedList do Java. O programa guarda uma sequência de números na lista e depois percorre essa sequência com um iterador sobre os elementos da lista: Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 8 / 12

9 Ciclos for-each Quando temos sequências iteráveis, podemos ter ciclos do tipo for-each da forma: for (TipoObj nomevar : expressão) bloco_instruções; onde expressão corresponde a uma colecção de valores que implementa a classe java.lang.iterable. TipoObj tipo do objecto que o iterador retorna nomevar nome da variável que toma os valores retornados. Exemplo: Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 9 / 12

10 Comparação de objectos Objectos de tipos diferentes são comparados de modo diferente. As Strings são comparadas lexicograficamente, por exemplo: String a="abcd", b="abbc"; int cmp=a.compareto(b); if (cmp < 0) System.out.println(a+" antes de "+b); else if (cmp==0) System.out.println(a+" igual "+b); else System.out.println(a+" depois de "+b); E se tivermos dois objectos, por exemplo que representam alunos onde consta o nome e a média, como compará-los? Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 10 / 12

11 Exemplo com comparable (1) Consideremos a classe Aluno seguinte: Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 11 / 12

12 Exemplo com comparable (2) Para compararmos 2 objectos da classe Aluno, é necessário que esta implemente o Comparable e defina um método compareto(): Ver outro exemplo no final do capítulo de ordenação. Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 12 / 12

5. Generics, Iterators e Comparable em Java. Tipos de Dados Abstractos Generics em Java

5. Generics, Iterators e Comparable em Java. Tipos de Dados Abstractos Generics 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

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

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

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

Árvores e Mapas. Luís Lopes. Estruturas de Dados DCC-FCUP Árvores e Mapas Luís Lopes DCC-FCUP Estruturas de Dados Estruturas não lineares Os arrays e as listas são exemplos de estruturas de dados lineares, cada elemento tem: um predecessor único (excepto o primeiro

Leia mais

Departamento de Ciência de Computadores Estruturas de Dados (CC114) FCUP 2010/11. 2 o Teste: 20/Junho/2011

Departamento de Ciência de Computadores Estruturas de Dados (CC114) FCUP 2010/11. 2 o Teste: 20/Junho/2011 1. Cotação de cada pergunta: 1. 30 / 2. 35 / 3. 35 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 30%) Responda às seguintes questões:

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

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

1. Cotação de cada pergunta: / / (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame.

1. Cotação de cada pergunta: / / (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame. Departamento de Ciência de Computadores Estruturas de Dados (CC114) 2 o Teste: 25/Junho/2012 FCUP 2011/12 duração: 2.5 horas 1. Cotação de cada pergunta: 1. 30 / 2. 35 / 3. 35 (Total: 100 pontos) 2. Responda

Leia mais

8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados

Leia mais

8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados

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

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

API e Coleções Java. Sérgio Luiz Ruivace Cerqueira API e Coleções Java Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java API Introdução API Endereço http://download.oracle.com/javase/6/docs/api/ API - Descrição API - Resumo API - Detalhes Coleções

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

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

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

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

FCUP 2010/11. Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011

FCUP 2010/11. Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011 1 1 Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011 FCUP 2010/11 duração: 2 horas 1. Teste A (indicar o teste que estão a fazer na folha de resposta) 2. Cotação

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

Departamento de Ciência de Computadores Estruturas de Dados (CC114)

Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1. Cotação de cada pergunta: 1. 30 / 2. 40 / 3. 30 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 30%) Responda às seguintes questões:

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 7: Interfaces LEEC@IST Java 1/31 Interfaces revisão (1) Uma interface é um conjunto de protótipos de métodos (sem implementações) que especifica um serviço bem definido:

Leia mais

Generics - Java. Fernando Santos. Programação Orientada a Objetos

Generics - Java. Fernando Santos. Programação Orientada a Objetos - Java Fernando Santos Programação Orientada a Objetos Generics é uma funcionalidade incorporada ao Java a partir da versão 5.0 Permite aos programadores escreverem métodos genéricos Os parâmetros dos

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

Tipos de Dados Abstractos Estruturas Lineares Listas

Tipos de Dados Abstractos Estruturas Lineares Listas Tipos de Dados Abstractos Estruturas Lineares Listas FEUP - MIEEC Programação 2-2008/2009 Tipo de Dados Abstractos (TDA) TDA conjunto de objectos + conjuntos de operações abstracção matemática (dados são

Leia mais

Interfaces POO. Prof. Marcio Delamaro

Interfaces POO. Prof. Marcio Delamaro Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso

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

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Vetores vs Estruturas Dinâmicas Vetores (arrays): Ocupa um espaço contíguo de memória Permite acesso randômico

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

Estruturas de Dados. Filas em que a prioridade de remoção não é cronológica. Maior prioridade não é do elemento que ingressou primeiro

Estruturas de Dados. Filas em que a prioridade de remoção não é cronológica. Maior prioridade não é do elemento que ingressou primeiro Estruturas de Dados Filas de Prioridade Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich & Tamassia).

Leia mais

Genéricos. Profa. Thienne Johnson EACH/USP

Genéricos. Profa. Thienne Johnson EACH/USP Genéricos Profa. Thienne Johnson EACH/USP Java, como programar, 6ª edição Deitel & Deitel Capítulo 18 Material complementar http://wps.prenhall.com/br_deitel_comoprogra_6/ Todas as classes em Java herdam,

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. 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

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

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

Departamento de Ciência de Computadores Estruturas de Dados (CC114)

Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1. Cotação de cada pergunta: 1. 32 / 2. 38 / 3. 30 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 32%) Responda às seguintes questões:

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

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

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

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

Departamento de Ciência de Computadores Estruturas de Dados (CC114)

Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1. Cotação de cada pergunta: 1. 32 / 2. 36 / 3. 32 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 32%) Responda às seguintes questões:

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

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 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

Algoritmos e Estruturas de Dados 2009/2010

Algoritmos e Estruturas de Dados 2009/2010 Listas Algoritmos e Estruturas de Dados 2009/2010 Tipo de Dados Abstracto TDA conjunto de objectos + conjuntos de operações constituem uma abstracção matemática em C++ são implementados por classes; as

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

Arquitecturas Paralelas I Computação Paralela em Larga Escala. Conceitos de Programação Orientada ao Objecto

Arquitecturas Paralelas I Computação Paralela em Larga Escala. Conceitos de Programação Orientada ao Objecto Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Conceitos de Programação Orientada ao Objecto (gec.di.uminho.pt/lesi/ap10203/aula02poo.pdf) João Luís Ferreira Sobral Departamento

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

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

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

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

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Programação em C Características Criado na década de 70; Possui muitas regras em sintaxe e semântica; Utilizado para programação de

Leia mais

Estruturas de Dados Pilhas, Filas, Listas

Estruturas de Dados Pilhas, Filas, Listas PMR2300 Escola Politécnica da Universidade de São Paulo Introdução Estruturas de dados são objetos que armazenam dados de forma eficiente, oferecendo certos serviços para o usuário (ordenação eficiente

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

Pág. 1 de 6

Pág. 1 de 6 String www.tiexpert.net Pág. 1 de 6 Strings são utilizadas frequentemente em várias linguagens de programação, não apenas Java. Embora Strings sejam uma sequência de caracteres em Java, e não um array

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

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

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

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

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO

Leia mais

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas SCC-502 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Lista com nó de cabeçalho Nó de cabeçalho Header, sentinela, etc.

Leia mais

Interfaces. Interfaces: Exemplo. ! São um mecanismo poderoso para ter bons desenhos pois permitem separar contratos das implementações

Interfaces. Interfaces: Exemplo. ! São um mecanismo poderoso para ter bons desenhos pois permitem separar contratos das implementações Interfaces! São um mecanismo poderoso para ter bons desenhos pois permitem separar contratos das implementações! Definem, tais como as classes, tipos mas não têm implementação! Podem declarar o constantes

Leia mais

4 Conceito de Herança

4 Conceito de Herança 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

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

23/10/15. Padrões de Projeto (Design Patterns) em Java. Separação de Implementação e Interface. Separação de Implementação e Interface.

23/10/15. Padrões de Projeto (Design Patterns) em Java. Separação de Implementação e Interface. Separação de Implementação e Interface. Design Patterns / Padrões de Projeto Padrões de Projeto (Design Patterns) em Java Um padrão de projeto é uma solução geral para um problema recorrente É uma espécie de gabarito para como resolver um problema

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

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

Programação Orientada pelos Objetos B. Desenvolvimento orientado pelos objectos

Programação Orientada pelos Objetos B. Desenvolvimento orientado pelos objectos Programação Orientada pelos Objetos B Desenvolvimento orientado pelos objectos 2 Slides elaborados pelos Professores Miguel Goulão e Adriano Lopes, no âmbito do ensino da programação orientada pelos objectos

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

Tipos Abstractos de Dados (TADs) e Java

Tipos Abstractos de Dados (TADs) e Java Tipos Abstractos de Dados (TADs) e Java Neste capítulo apresentamos a metodologia de desenvolvimento dos TADs em Java, introduzimos o conceito de estrutura linear e sua implementação utilizando a estrutura

Leia mais

JPQL (Java Persistence Query language)

JPQL (Java Persistence Query language) JPQL (Java Persistence Query language) Uma query SELECT JPQL é formada pelas cláusulas SELECT e FROM (obrigatórias) e mais 4 cláusulas opcionais com o seguinte formato: SELECT... FROM... [WHERE...] [GROUP

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

6. Pesquisa e Ordenação

6. Pesquisa e Ordenação 6. Pesquisa e Ordenação Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 1 / 30 Pesquisa de Informação A pesquisa eficiente de informação

Leia mais

4. Listas, Pilhas, e Filas

4. Listas, Pilhas, e Filas 4. Listas, Pilhas, e Filas Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 1 / 49 Definição de Lista (1) Uma lista é uma sequência finita

Leia mais

4. Listas, Pilhas, e Filas

4. Listas, Pilhas, e Filas 4. Listas, Pilhas, e Filas Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 1 / 49 Definição de Lista (1) Uma lista é uma sequência finita

Leia mais

Profa. Thienne Johnson EACH/USP

Profa. Thienne Johnson EACH/USP Profa. Thienne Johnson EACH/USP Declarando classes usando generics Métodos que usam um parâmetro de tipo como tipo de retorno Declaração da classe BasicGeneric: class BasicGeneric Contém o parâmetro

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

Nome: Número: Segunda Parte (3 valores) Primeira Parte (7 valores)

Nome: Número: Segunda Parte (3 valores) Primeira Parte (7 valores) 2º Teste 2013/2014 1º Semestre 201401140900 2º Teste 2013/2014 1º Semestre 14 de Janeiro de 2014, 09:00 (120 minutos) Nome: Número: 1/8 Primeira Parte (7 valores) PERGUNTA NOTA 1.1.1 1.1.2 1.1.3 1.2.1

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

Computação Paralela. Conceitos de Programação Orientada ao Objecto. João Luís Ferreira Sobral Departamento do Informática Universidade do Minho

Computação Paralela. Conceitos de Programação Orientada ao Objecto. João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Computação Paralela Conceitos de Programação Orientada ao Objecto João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Setembro 2006 Revisão Conceitos de Programação Orientada ao

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

Algoritmos e Estruturas de Dados. Lição n.º 3 Coleções: sacos, pilhas e filas

Algoritmos e Estruturas de Dados. Lição n.º 3 Coleções: sacos, pilhas e filas Algoritmos e Estruturas de Dados Lição n.º 3 Coleções: sacos, pilhas e filas Coleções: sacos, pilhas e filas Especificação das coleções Classes iteráveis Sacos (em inglês bags) Implementação com arrays

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

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

Professora Jeane Melo

Professora Jeane Melo Professora Jeane Melo Roteiro Lista Encadeada Alocação: Estática x Dinâmica O que são Ponteiros? Ponteiros Variáveis que Armazenam Endereços de Memória Mas, toda variável não é armazenada na memória? Ponteiros

Leia mais

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04 Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares

Leia mais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais

Ordenação e Pesquisa

Ordenação e Pesquisa Ordenação e Pesquisa Luís Lopes DCC-FCUP Estruturas de Dados Pesquisa de Informação A pesquisa eficiente de informação é extremamente relevante, seja: num catálogo indexado por uma relação de ordem, e.g.

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

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Programação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011

Programação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011 Programação Orientada por Objectos 2010/11 2º Exame 28 de Junho de 2011 Instruções (leia com cuidado): Escreva de forma CLARA o seu nome e número em todas as folhas. O exame contém 8 páginas dividido em

Leia mais

Programação com Objectos 2º Teste Tipo 1º Semestre (120 minutos)

Programação com Objectos 2º Teste Tipo 1º Semestre (120 minutos) 1/8 Programação com Objectos 2º Teste Tipo 1º Semestre (120 minutos) Nome: Primeira Parte (7 valores) PERGUNTA NOTA 1.1.1 1.1.2 1.1.3 1.2 1.3 1.4 Segunda Parte (3 valores) PERGUNTA RESPOSTA 2.1 2.2 2.3

Leia mais

TIPOS PARAMETRIZADOS CLASSES GENÉRICAS PARTE II

TIPOS PARAMETRIZADOS CLASSES GENÉRICAS PARTE II TIPOS PARAMETRIZADOS CLASSES GENÉRICAS PARTE II JAVA5 Tiger JAVA6 - Mustang ARQUITECTURAS DE SOFTWARE F. Mário Martins 2011 1 CRIAÇÃO DE CLASSES GENÉRICAS ARQUITECTURAS DE SOFTWARE F. Mário Martins 2011

Leia mais

Algoritmos e Estruturas de Dados. Lição n.º 3 Coleções: sacos, pilhas e filas

Algoritmos e Estruturas de Dados. Lição n.º 3 Coleções: sacos, pilhas e filas Algoritmos e Estruturas de Dados Lição n.º 3 Coleções: sacos, pilhas e filas Coleções: sacos, pilhas e filas Especificação das coleções Classes iteráveis Sacos (em inglês bags) Implementação com arrays

Leia mais

Java para Desktop. Programação Orientada à Objetos 2 JSE

Java para Desktop. Programação Orientada à Objetos 2 JSE Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de

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 Classes parametrizadas (classes genéricas) Várias classes e interfaces da biblioteca padrão de Java têm

Leia mais