Java Collections Framework III
|
|
- Aurora Sintra Palma
- 6 Há anos
- Visualizações:
Transcrição
1 Java Collectios Framework III Bruce Eckel, Thikig i Java, 4th editio, PreticeHall, New Jersey, cf. Gilad Bracha, Geerics i the Java Programmig Laguage a.k.a The Geerics Tutorial, Julho de 2004 cf. jvo@ualg.pt José Valete de Oliveira 20-1 Java implemets PriorityQueue<E> with a heap add remove Array ão ordeado O(1) O(N) Array ordeado O(N) O(1) Acervo O(log N) O(log N) 1
2 Acervo, (heap) Um acervo é uma árvore biária completa que satisfaz a seguite codição (de acervo): a chave associada a cada ó da árvore é superior ou igual (/ meor ou igual) às chaves dos seus descedetes, caso existam; ou equivaletemete, a chave de um ó é iferior ou igual (/superior ou igual) à chave do seu pai. Acervo, exemplo (chaves dos elemetos) posição o array 2
3 Procedimeto de correção para cima Procedimeto de correção para baixo 3
4 Implemetação PQ usado acervos void add(e value) Adicioa value ao acervo e corrige para cima value 6 Isere aqui jvo@ualg.pt 20-7 Implemetação PQ usado acervos E remove() Correspode a remover a raiz do acervo. qtroca o último ó com a raiz qremove o ó que ates era a raiz qcorrige para baixo qdevolve o ó removido w Último ó 9 5 w 6 jvo@ualg.pt
5 JCF: Algorithms Bruce Eckel, Thikig i Java, 4th editio, PreticeHall, New Jersey, cf. Gilad Bracha, Geerics i the Java Programmig Laguage a.k.a The Geerics Tutorial, Julho de 2004 cf. jvo@ualg.pt José Valete de Oliveira 20-9 Algorithms available from java.util.collectios Sortig Sufflig Data maipulatio Searchig Compositio Fidig extreme values jvo@ualg.pt José Valete de Oliveira
6 Shufllig a set of tiles import java.util.*; class Peca { private it lado1, lado2; public Peca(it i, it j) {lado1=i; lado2=j; public Strig tostrig(){ retur ew Strig("("+lado1 +" " + lado2+")"); public class ExDesord { public static void mai(strig[] args) { List<Peca> domio = ew ArrayList<Peca>(28); for (it i = 0; i < 7; i++) for (it j = i; j < 7; j++) domio.add(ew Peca(i,j)); System.out.prit("Ates: "); System.out.pritl(domio); Collectios.shuffle(domio); System.out.prit("Depois: "); System.out.prit(domio); Ates: [(0 0) (6 6)] Depois: [(1 6) (5 2)] jvo@ualg.pt José Valete de Oliveira Shufflig public static void shuffle(list<?> l) public static void shuffle(list<?> l, Radom r) jvo@ualg.pt José Valete de Oliveira
7 Recorda-se que /** actualmete **/ iterface Comparable<T> { it compareto(t t); /** pré-geerics **/ iterface Comparable { it compareto(object o); jvo@ualg.pt José Valete de Oliveira Sortig static <T exteds Comparable<? super T>> void sort(list<t> list) static <T> void sort(list<t> list, Comparator<? super T> c) jvo@ualg.pt José Valete de Oliveira
8 Example: sortig import java.util.*; public class ExOrd { public static void mai(strig[] args) { List<Strig> list = ew ArrayList<Strig> (); list.add("um ); list.add("dois ); list.add("três"); Collectios.sort(list); System.out.pritl(list); [Dois, Três, Um] jvo@ualg.pt José Valete de Oliveira Example: Sortig usig Comparator sortig a array of people: class Pessoa { private fial it bi; private Strig ome, morada; public Pessoa(it bi, Strig, Strig m) { bi = bi; ome = ; morada = m; ; public it getnbi() {retur bi; public Strig tostrig() { retur ew Strig ("Bi: " + bi + " - " + ome + " + morada); // jvo@ualg.pt José Valete de Oliveira
9 Example: Sortig usig Comparator import java.util.*; public class Mai { public static void mai(strig [] a) { Collectio<Pessoa> c = ew ArrayList<Pessoa>(); c.add (ew Pessoa(53423, "Aa", "Faro")); c.add (ew Pessoa(12449, "Maria", "Moscavide")); c.add (ew Pessoa(41253, "Sara", "Lisboa")); Collectios.sort(ap, ew ComparatorPessoaNBI()); for (Pessoa p: ap) System.out.pritl(p); jvo@ualg.pt José Valete de Oliveira Example 1: Iterface Comparator class ComparatorPessoaNBI implemets Comparator<Pessoa> { public it compare(pessoa p1, Pessoa p2) { if (p1.getnbi() > p2.getnbi()) retur 1; else if (p1.getnbi() < p2.getnbi()) retur -1; else retur 0; jvo@ualg.pt José Valete de Oliveira
10 Data maipulatio public static <T> boolea addall(collectio<? super T> c, T... a) static <T> void copy(list<? super T> dest, List<? exteds T> src) static <T> void fill(list<? super T> list, T obj) static void reverse(list<?> list) static void swap(list<?> list, it i, it j) jvo@ualg.pt José Valete de Oliveira Biary search static <T> it biarysearch (List<? exteds Comparable<? super T>> list, T key) static <T> it biarysearch(list<? exteds T> list, T key, Comparator<? super T> c) jvo@ualg.pt José Valete de Oliveira
11 Example of biary search import java.util.*; public class ExPB { public static void mai(strig[] args) { List<Strig> list = ew ArrayList<Strig> (); Collectios.addAll(list, "Um", "Dois", "Três"); Collectios.sort(list); System.out.pritl( Collectios.biarySearch(list,"Três") ); System.out.pritl( Collectios.biarySearch(list,"Quatro") ); 1-2 jvo@ualg.pt José Valete de Oliveira Example of biary search import java.util.*; public class ExPB { public static void mai(strig[] args) { List<Strig> list = ew ArrayList<Strig> (); it i = Collectios.biarySearch(list, args[0]); Collectios.addAll(list, "Dois","Três", "Um"); if (i<0) list.add(-i-1, args[0]); System.out.pritl(list); >javac ExPB Zero <ret> [Dois, Três, Um, Zero] jvo@ualg.pt José Valete de Oliveira
12 Compositio static boolea disjoit(collectio<?> c1, Collectio<?> c2) static it frequecy(collectio<?> c, Object o) José Valete de Oliveira Fidig extreme values import java.util.*; public class ExMax { public static void mai(strig[] args) { List<Strig> list = ew ArrayList<Strig> (); Collectios.addAll(list, "Um, "Dois, "Três"); Strig sm = Collectios.max(list) System.out.pritl(sm); Um jvo@ualg.pt José Valete de Oliveira
13 Compositio static <T> T max(collectio<t> coll) // first attempt jvo@ualg.pt José Valete de Oliveira Fidig extreme values static <T exteds Comparable<? super T>> T max(collectio<t> coll) The erasure of the above method is static Comparable max(collectio coll) which is differet from the sigature of the pregeeric method: static Object max(collectio coll) jvo@ualg.pt José Valete de Oliveira
14 Fidig extreme values static <T exteds Object & Comparable<? super T>> T max(collectio<t> coll) jvo@ualg.pt José Valete de Oliveira Fidig extreme values static <T exteds Object & Comparable<? super T>> T max(collectio<? exteds T> coll) static <T> T max(collectio<? exteds T> coll, Comparator<? super T> comp) jvo@ualg.pt José Valete de Oliveira
15 Where are we? Itroductio Iterfaces Implemetatios Algorithms User-defied implemetatios Case studies José Valete de Oliveira
Tipos genéricos (cont)
Tipos geéricos (cot) Bruce Eckel, Thikig i Java, 4th editio, PreticeHall, New Jersey, cf. http://midview.et/books/tij4 Gilad Bracha, Geerics i the Java Programmig Laguage a.k.a The Geerics Tutorial, Julho
Streams II. Overview. The notion of stream Java I/O stream hierarchy Files, and file access using streams Serialization
Streams II Bruce Eckel, Thikig i Java, 4th editio, PreticeHall, New Jersey, cf. http://midview.et/books/tij4 jvo@ualg.pt José Valete de Oliveira 16-1 Overview The otio of stream Java I/O stream hierarchy
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
Bruce Eckel, Thinking in Patterns with Java, cf. José Valente de Oliveira 13-1
Nested Classes II Erich Gamma, Richard Helm, Ralph Johso, Joh Vlissides, Desig Patters Elemets of Reusable Object- Orieted Software, Addiso-Wesley, 1995, AKA GoF Bruce Eckel, Thikig i Patters with Java,
Errors and exceptions
Errors ad exceptios Bruce Eckel, Thikig i Java, 4th editio, PreticeHall, New Jersey, cf. http://midview.et/books/tij4 José Valete de Oliveira 14-1 Overview Itrodução Testes e Testes uitários Noção de Exceção
Tipos genéricos (cont)
Tipos genéricos (cont) 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 Generics
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
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
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
Herança e passagem de parâmetro AULA 09
Itrodução a Programação IF669 http://www.ci.ufpe.br/~if669 Heraça e passagem de parâmetro AULA 09 Ricardo Massa F. Lima rmfl@ci.ufpe.br Sérgio C. B. Soares scbs@ci.ufpe.br Itrodução Imagie que temos uma
Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4. jvo@ualg.pt José Valente de Oliveira 16-1
Streams III Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 jvo@ualg.pt José Valente de Oliveira 16-1 Previously: Serializing a collection public
Binding and Casting. Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf.
Binding and Casting Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 Binding Intuitively, binding occours whenever a correspondence is stabilished
capta a noção elementar de ordemde chegada no processamento de tarefas, além da ordem de chegada é típico atender à prioridade
Fila de Prioridade (1) Fila capta a noção elementar de ordemde chegada no processamento de tarefas, além da ordem de chegada é típico atender à prioridade Fila de prioridade objectos na fila têmum número
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
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
Paradigmas da Programação PPROG. Tipos de Dados. Enumerados Genéricos Coleções. Nelson Freire (ISEP DEI-PPROG 2012/13) 1/64
PPROG Paradigmas da Programação Tipos de Dados Enumerados Genéricos Coleções Nelson Freire (ISEP DEI-PPROG 2012/13) 1/64 PPROG Sumário Geral Tipos Enumerados Tipos Genéricos Tipos Coleção Nelson Freire
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
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
ESTRUTURAS DE DADOS E ALGORITMOS HEAP BINÁRIA
ESTRUTURAS DE DADOS E ALGORITMOS 1 HEAP BINÁRIA Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande HEAP BINÁRIA É uma árvore binária satisfazendo duas propriedades:
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
Vetores Unimensionais
Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um
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
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
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
Tipos abstratos de dados (TADs)
Tipos abstratos de dados (TADs) Um TAD é uma abstração de uma estrutura de dados Um TAD especifica: Dados armazeados Operações sobre os dados Codições de erros associadas à opers Exemplo: TAD que modela
Errors and exceptions
Errors and exceptions Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 14-1 Overview Introdução Testes e Testes unitários Noção de Exceção A hierarquia
INTERFACES DE JAVA. O JCF é uma arquitectura que se baseia em três entidades fundamentais:
INTERFACES DE JAVA O JCF é uma arquitectura que se baseia em três entidades fundamentais: a) Interfaces; b) Classes abstractas; c) Classes Concretas Implementações; Interfaces e Comparator 1 Interfaces
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,
Testes de correção (de defeitos)
Testes de correção (de defeitos) Revelam a presença de erros, mas NÃO a ausência Um teste bem sucedido é aquele que descobre o maior número de erros existentes. Deve ser utilizado em conjunto com técnicas
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
Pilha e Fila. Pilha em C. Definir o registro que representará cada elemento da pilha.
1 Estrutura de Dados II Pilha e Fila Pilha em C Definir o registro que representará cada elemento da pilha. No início a pilha estará vazia, logo o ponteiro topo tem o valor NULL. As operações de inserção
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
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
Exercício de Estrutura de dados. Java Fila
Exercício de Estrutura de dados Java Fila Obs.: Esse projeto foi um exercício realizado em sala de aula da matéria de Estrutura de dados com o Profº Frederico Augusto Siqueira Gentil Aqui está sendo relatado
Ordenação e Busca em Arquivos
Ordeação e Busca em Arquivos Cristia D. A. Ciferri Thiago A. S. Pardo Leadro C. Citra M.C.F. de Oliveira Moacir Poti Jr. Ordeação Facilita a busca Pode ajudar a dimiuir o úmero de acessos a disco Busca
PROGRAMAÇÃO JAVA. Parte 3
PROGRAMAÇÃO JAVA Parte 3 O PRIMEIRO PROGRAMA O Java executa uma instrução a seguir a outra, pela ordem em que estão escritas. Essa sequência poderá ser contrariada de forma especial: Alternativas: Ciclos
Algoritmos e Estruturas de Dados 2005/2006. árvore Vermelho-Preto cada nó tem no máximo 1 filho vermelho. Árvore AA ; semelhante a árvore BB, mas:
Algoritmos e Estruturas de Dados 00/006 Árvore BB: árvore Vermelho-Preto cada nó tem no máximo 1 filho vermelho Árvore AA ; semelhante a árvore BB, mas: só filhos direitos podem ser vermelhos reduz casos
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,
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
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
Introdução. Objetivo da Ciência da Computação. Regra Geral. Problema Algoritmo Implementação. Projeto e Análise de. Algoritmo 3
Itrodução Problema Algoritmo Implemetação Problema Uiversidade Federal de Ouro Preto Departameto de Computação Algoritmo 1 Algoritmo 2 Algoritmo 3 Projeto e Aálise de Algoritmos - I Implemetação C Implemetação
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
Introdução. Objetivo da Ciência da Computação. Regra Geral. Nenhuma implementação excelente salva um Algoritmo inadequado.
Itrodução Problema Algoritmo Implemetação Problema Uiversidade Federal de Ouro Preto Departameto de Computação Algoritmo 1 Algoritmo Algoritmo Projeto e Aálise de Algoritmos - I Implemetação C Implemetação
Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.
JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta
MAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017
PROVA 2 MAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017 Nome: Número USP: Instruções: (1 ) Esta prova é individual. (2 ) A prova consiste de 6 questões (contando a Questão 0 nesta página).
Interfaces e Classes Internas
e Classes Internas 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 (ICMC) Universidade
// quando o estado do Sujeito muda
Padrão Observer No padrão Observer temos dois objectos: um, designado Sujeito (Subject) que possui uma dada informação que pode variar ao longo da execução do programa, e outro, designado Observador (Observer)
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
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
Complexidade de Algoritmos Aula 5
Complexidade de Algoritmos Aula 5 Potecia (a: real, : iteiro: real; p: real; iicio 1. se = 0 etão retora ( 1 ; 2. se ( mod 2 = 1 etão 3. p Potecia( a, ( 1/2 ; 4. retora( a*p*p ; 5. seão p Potecia( a, /2
Nome: Número: Primeira Parte (7 valores) Segunda Parte (3 valores)
Nome: Número: Programação com Objectos 10 de Novembro de 2015, 08:00 (90 minutos) Primeira Parte (7 valores) Segunda Parte (3 valores) PERGUNTA NOTA PERGUNTA RESPOSTA 1.1 2.1 1.2 2.2 1.3 1.4 2.3 2.4 2.5
Filas de Prioridade e Heaps
Filas de Prioridade e Heaps Pedro Ribeiro DCC/FCUP 2017/2018 Pedro Ribeiro (DCC/FCUP) Filas de Prioridade e Heaps 2017/2018 1 / 31 Filas de prioridade - Motivação As urgências de um hospital funcionam
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
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
Paradigmas da Programação PPROG. Tipos Enumerados. Nelson Freire (ISEP DEI-PPROG 2013/14) 1/20
PPROG Paradigmas da Programação Tipos Nelson Freire (ISEP DEI-PPROG 2013/14) 1/20 Sumário Interesse Definição Implementação Declaração Valor de um Tipo Enumerado Variável de Tipo Enumerado Métodos Automáticos
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
Vetores Unimensionais
Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Acessar elementos de um
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
Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a
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
ORIENTAÇÃO A OBJETOS
ORIENTAÇÃO A OBJETOS Mário Meireles Teixeira mario@deif.ufma.br O que é Orietação a Objetos Paradigma modero da egeharia de software Iflui a aálise, projeto (desig) e programação A aálise orietada a objetos
Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33
PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface
Filas de Prioridade. Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações:
Filas de Prioridade e Heaps 9.1 Filas de Prioridade Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações: inserir um elemento na fila; remover o elemento
// quando o estado do Sujeito muda
Padrão Observer No padrão Observer temos dois objectos: um, designado Sujeito (Subject) que possui uma dada informação que pode variar ao longo da execução do programa, e outro, designado Observador (Observer)
Vetores Unimensionais
Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um
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
if (umobjecto!= null && umobjecto instanceof CartaoFidelidade){ titular.equals(((cartaofidelidade) umobjecto).titular) &&
P. Fazendeiro & P. Prata POO - TP03 / 25 _ [... //classe CartaoFidelidade: alguns métodos adicionais] public boolean equals(object umobjecto){ if (umobjecto!= null && umobjecto instanceof CartaoFidelidade){
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:
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Aula 1 REST em Java JAX-RS (Jersey) Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 REST : REPRESENTATIONAL STATE TRANSFER Padrão arquitetural para
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
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
Sistema Futebol - Java
Sistema Futebol - Java ARTEFATO 01 Indice 1. CLASSE PESSOA... 2 2. CLASSE JOGADOR... 3 3. CLASSE TECNICO... 5 4. CLASSE SISTEMAFUTEBOL... 6 5. CLASSE SISTEMAFUTEBOLMAIN... 10 6. EXERCÍCIOS... 10 AT01 Sistema
Implementação de Planilha de Cálculos Simplificada
INF 1620 Estruturas de Dados Semestre 08.2 Primeiro Trabalho Implemetação de Plailha de Cálculos Simplificada Uma plailha de cálculos é um programa muito utilizado em aplicações fiaceiras e aquelas que,
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
Ordenação por Partição (Quick Sort)
Vectores: Algortmos de Ordeação (2) Algortmos e Estruturas de Dados 2009/2010 Ordeação por Partção (Quck Sort) Algortmo (ordeação por partção): 1. Caso básco: Se o úmero () de elemetos do vector (a) a
ORDENAÇÃO 1. ORDENAÇÃO POR TROCA
ORDENAÇÃO Ordear é o processo de orgaizar uma lista de iformações similares em ordem crescete ou decrescete. Especificamete, dada uma lista de ites r[0], r[], r[],..., r[-], cada item a lista é chamado
Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa
Revisões de PG (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Compilar e executar programas em Java Ficheiro fonte (Prog.java) Ficheiro
Algoritmos e Estruturas de Dados 2006/2007
Filas de prioridade Algoritmos e Estruturas de Dados 2006/2007 Filas de prioridade Uma fila de prioridade permite, pelo menos, duas operações sobre um conjunto de valores comparáveis: inserção de um elemento
Algoritmos e Estruturas de Dados 2005/2006
Filas de prioridade Algoritmos e Estruturas de Dados 2005/2006 Filas de prioridade Uma fila de prioridade permite, pelo menos, duas operações sobre um conjunto de valores comparáveis: inserção de um elemento
pior caso nas operações de manipulação é O(N) pior caso surge sistematicamente emusos correntes (ex: elementos previamente ordenados)
Tabelas de Dispersão (Hash( Tables) 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
Simulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Fontes Bibliográficas. Estruturas de Dados Aula 14: Recursão. Introdução. Introdução (cont.)
Fotes Bibliográficas Estruturas de Dados Aula 14: Recursão Livros: Projeto de Algoritmos (Nivio Ziviai): Capítulo 2; Estruturas de Dados e seus Algoritmos (Szwarefiter, et. al): Capítulo 1; Algorithms
Capítulo VIII. Tipo Abstracto de Dados Dicionário. Acesso por Chave
Capítulo VIII Tipo Abstracto de Dados Dicionário Acesso por Chave Margarida Mamede, DI FCT/UNL AED, 2009/10, Capítulo VIII 1 Interface Dicionário (K,V) (1) package datastructures; public interface Dictionary
Programação de Computadores II. Recursividade
Programação de Computadores II Recursividade Livro: Waldemar Celes, Reato Cerqueira, José Lucas Ragel. Itrodução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos origiais dos pros.: Marco
Metodologia Orientada a Objetos Mínima
Aálise e Projeto Orietados a Objeto Metodologia Orietada a Objetos Míima 1 O domíio de estudo ão é o sistema de iformação em sua totalidade A orgaização ão é levada em cosideração O Sistema de Iformação
5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.
5 Arrays Arrays são grupos de variáveis do mesmo tipo. As arrays podem armazenar variáveis de qualquer tipo (tipo de dado primitivo ou objetos), mas é importante lembrar que todos os valores devem ser
Quando uma função/método chama ela mesma Exemplo clássico: the factorial function
: recursão, listas Prof. Dr. Julio Arakaki www.pucsp.br/~jarakaki (jarakaki@pucsp.br) 1 Recursão Quando uma função/método chama ela mesma Exemplo clássico: the factorial function n! = 1 2 3 (n-1) n Definição
DATA ACCESS OBJECT (DAO)
Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação DATA ACCESS OBJECT (DAO) SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º Semestre 2015
UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para
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.
Introdução a árvores AVL. Prof. Ernesto Lindstaedt
Introdução a árvores AVL Prof. Ernesto Lindstaedt Definição O nome AVL vem dos seus criadores Adelson Velsky e Landis (1962); Uma ABP T é denominada AVL se: Para todos nós de T,, as alturas de suas duas
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
JUnit. Alexandre Menezes Silva Eduardo Manuel de Freitas Jorge
JUnit Alexandre Menezes Silva alexandre_crvg@hotmail.com Eduardo Manuel de Freitas Jorge emjorge1974@gmail.com 0 Sumário O que é?... 2 Pra que serve?... 2 Arquitetura... 2 Método de comparação assertequals...
Á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
Análise de Algoritmos
Análise de Algoritmos Tempo e Espaço Exemplos Notação O( ) Análise de Algoritmos Como obter a solução de um problema? Especificação do problema: descrição da relação entre os valores de entrada e os de
Prova 2 PMR3201 1o. semestre 2016 Prof. Thiago Martins
Prova 2 PMR3201 1o. semestre 2016 Prof. Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço. Os códigos fornecidos na seção Códigos-fonte de apoio podem ser referenciados
PRDS C#.Net Alexandre L. Silva
PRDS 2011.1 C#.Net Alexandre L. Silva alexandre.silva@les.inf.puc-rio.br Programa 1. Introdução ao.net 2. Introdução ao ASP.Net 3. Introdução ao C#.Net 4. Primeiro programa 5. Métodos e Variáveis 6. Estruturas
Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes
Árvores Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Setembro de 2011 Tópicos Introdução Árvores binárias Implementação em Java Ordens de percurso em árvores binárias Altura de uma