·
Engenharia de Software ·
Linguagens de Programação
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
88
Fundamentos de Programação Orientada a Objetos
Linguagens de Programação
PUC
17
Padrões de Projeto em Programação Modular: Abordagens e Soluções
Linguagens de Programação
PUC
39
Programação Modular: Classes, Objetos e Construtores em Java
Linguagens de Programação
PUC
39
Programação Modular: Herança Múltipla e Conceito de Interface
Linguagens de Programação
PUC
20
Princípios SOLID e Programação Modular
Linguagens de Programação
PUC
25
Código Java: Estruturas e Operações com Classes de Comida
Linguagens de Programação
PUC
17
Programação Modular e Qualidade de Software
Linguagens de Programação
PUC
60
Princípios Fundamentais da Programação Modular e OO
Linguagens de Programação
PUC
49
Polimorfismo e Programação Modular em POO
Linguagens de Programação
PUC
26
Análise de Streams em Coleções: Cálculo de Pesos e Operações em Java
Linguagens de Programação
PUC
Texto de pré-visualização
PROGRAMAÇÃO MODULAR Coleções e Mapeamentos Prof João Caram Coleções Objetos que representam um grupo de objetos tratados como uma única entidade Estruturas de dados JAVA COLLECTION FRAMEWORK JCF Arquitetura de componentes para permitir manipulação de coleções de maneira independente e abstrata Objetivos Promoção do reuso de componentes de software Redução do esforço de programação Favorecer desempenho Interoperabilidade entre sistemas diferentes JCF Recursos forObject obj collection doSomethingobj Utilizando coleções JCF Uma coleção deve implementar dois construtores Vazio Cópia de outra coleção boolean addE elemento opcional boolean removeE elemento opcional void clear opcional int size boolean isEmpty boolean containsObject elemento Object toArray Lista sequência de elementos indexados Possivelmente duplicados Acesso pelo índice Acesso por busca de valor Implementação de uma lista usando um array Tamanho prédefinido Autoredimensionável Cuidado com desempenho boolean addE elemento void addint index E elemento E get int index E set int index int indexOfObject elemento int lastIndexOfObject elemento E removeint index void sortComparator super E c ListE subList int indiceInicial int indiceFinal Filas sequência de elementos com inserção e retirada restritas Fila simples entra no fim sai do início FIFO Fila dupla inserções e retiradas nas extremidades Fila de prioridade retirada por prioridade boolean removeE elemento Exceções E remove E element Valores nulos E poll E peek Implementa uma fila de prioridades a partir da interface QueueE usando heap Ordem natural ou comparador por parâmetro Usa um array que é redimensionado se necessário Deque Double Ended QUEue Fila de duas cabeças inserção e retirada na primeira e na última posições Métodos de consulta e de retirada Exceções void addFirstE elemento void addLastE elemento E removeFirst E removeLast Nulos E peekFirst E peekLast E pollFirst E pollLast Implementa ListE e DequeE Lista simples Fila de duas cabeças Pilha Estrutura dinâmica Tamanho flexível Conjuntos coleções sem repetição equals hashCode Dois conjuntos são iguais somente se forem do mesmo tamanho e contiverem elementos iguais Cuidado adicional com elementos mutáveis HashSet estrutura mais rápida para localização Sem garantia de ordem de inserção LinkedHashSet garantia da ordem de inserção Classes HASHSETE e LINKEDHASHSETE Tabelas para acesso a dados Desempenho excelente para adicionar remover verificar existência e tamanho Tamanho fixo e redimensionável Atenção para Capacidade inicial Fator de carga E first menor elemento E last maior elemento subconjunto de menor que SortedSetE headSetE elemento subconjunto de maior que SortedSetE tailSetE elemento subconjunto entre de e até SortedSetE subSetE de E até INTERFACE SORTEDSETE Conjunto ordenado ordem natural ou comparador passado como parâmetro Resultado de equals deve ser consistente com compareTo Classe TREESETE Implementa SortedSetE Estrutura de dados árvore Conjunto com acesso organizadoordenado E pollFirst remove menor elemento E pollLast remove maior elemento menor elemento a partir de teto E ceilingE teto maior elemento até piso E floorE piso maior elemento até piso Iterador para andar ao contrário IteratorE descendingIterator Collections classe com implementação static de algoritmos comuns aplicáveis a objetos que se enquadrem como coleções sort fill binarySearch min shuffle copy frequency max reverse swap disjoint O que você usaria para as situações a seguir Preciso anotar diversos produtos para comprar Quero acessar conteúdos de aulas dadas na ordem em que aconteceram O que você usaria para as situações a seguir Preciso armazenar as contas a pagar e quero que aquela com o vencimento mais próximo apareça primeiro Gostaria de armazenar as contas a pagar e sempre que necessário visualizar as contas de um determinado período UTILIZANDO MAPAS JCF MAPAS E MAPEAMENTOS Não implementam a interface Collection mas oferecem operações semelhantes Não são iteráveis Associação de chaves e valoresobjetos Parâmetro duplo Localização rápida de elementos Mapeamento chavevalor Conjunto de chaves Coleção de valores Sem chaves duplicadas Substitui elementos com a mesma chave Cuidado com a mutabilidade de objetoschave PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram JCF MAPEAMENTOS interface Map interface SortedMap HashTable LinkedHashMap HashMap TreeMap V putK chave V valor V removeK chave V get K chave void clear boolean containsKeyObject chave boolean containsValueObject valor SetK keySet conjunto de chaves Collection V values coleção de valores Mapeamento rápido mapa tabela hash Busca mais rápida Não garante ordem de entrada e nem ordem constante PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Mapeamento rápido mapa tabela hash Busca mais rápida Não garante ordem de entrada e nem ordem constante LinkedHashMap Contém lista para iterar com ordem previsível PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Mapeamentos ordenadosorganizados Ordem natural Comparador por parâmetro Chaves obrigatoriamente implementam Comparable Navegação em ordem crescente Consistência das operações de K TreeMapComparator super K comparator SortedMapKV headMapK limite SortedMapKV tailMapK inicio SortedMapKV subMapK inicio K limite NavigableMapKV descendingMap TreeMapKV implementa SortedMap Organização em árvore balanceada vermelhopreto Ordenação natural ou comparador por parâmetro Consistência do comparador com equals O que você usaria para as situações a seguir Preciso anotar diversos produtos para comprar Muitas vezes preciso consultar ou alterar detalhes de produtos Quero acessar o conteúdo das aulas dadas na ordem em que aconteceram Também preciso eventualmente modificar detalhes destes conteúdos OBRIGADO Dúvidas PUC Minas Bacharelado em Engenharia de Software O que você usaria para as situações a seguir Preciso anotar diversos compromissos com o mais próximo sempre aparecendo na frente Após a data de um compromisso posso querer localizálo e removêlo da lista Preciso constantemente saber e alterar detalhes destes compromissos Preciso ainda filtrar compromissos por períodos específicos
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
88
Fundamentos de Programação Orientada a Objetos
Linguagens de Programação
PUC
17
Padrões de Projeto em Programação Modular: Abordagens e Soluções
Linguagens de Programação
PUC
39
Programação Modular: Classes, Objetos e Construtores em Java
Linguagens de Programação
PUC
39
Programação Modular: Herança Múltipla e Conceito de Interface
Linguagens de Programação
PUC
20
Princípios SOLID e Programação Modular
Linguagens de Programação
PUC
25
Código Java: Estruturas e Operações com Classes de Comida
Linguagens de Programação
PUC
17
Programação Modular e Qualidade de Software
Linguagens de Programação
PUC
60
Princípios Fundamentais da Programação Modular e OO
Linguagens de Programação
PUC
49
Polimorfismo e Programação Modular em POO
Linguagens de Programação
PUC
26
Análise de Streams em Coleções: Cálculo de Pesos e Operações em Java
Linguagens de Programação
PUC
Texto de pré-visualização
PROGRAMAÇÃO MODULAR Coleções e Mapeamentos Prof João Caram Coleções Objetos que representam um grupo de objetos tratados como uma única entidade Estruturas de dados JAVA COLLECTION FRAMEWORK JCF Arquitetura de componentes para permitir manipulação de coleções de maneira independente e abstrata Objetivos Promoção do reuso de componentes de software Redução do esforço de programação Favorecer desempenho Interoperabilidade entre sistemas diferentes JCF Recursos forObject obj collection doSomethingobj Utilizando coleções JCF Uma coleção deve implementar dois construtores Vazio Cópia de outra coleção boolean addE elemento opcional boolean removeE elemento opcional void clear opcional int size boolean isEmpty boolean containsObject elemento Object toArray Lista sequência de elementos indexados Possivelmente duplicados Acesso pelo índice Acesso por busca de valor Implementação de uma lista usando um array Tamanho prédefinido Autoredimensionável Cuidado com desempenho boolean addE elemento void addint index E elemento E get int index E set int index int indexOfObject elemento int lastIndexOfObject elemento E removeint index void sortComparator super E c ListE subList int indiceInicial int indiceFinal Filas sequência de elementos com inserção e retirada restritas Fila simples entra no fim sai do início FIFO Fila dupla inserções e retiradas nas extremidades Fila de prioridade retirada por prioridade boolean removeE elemento Exceções E remove E element Valores nulos E poll E peek Implementa uma fila de prioridades a partir da interface QueueE usando heap Ordem natural ou comparador por parâmetro Usa um array que é redimensionado se necessário Deque Double Ended QUEue Fila de duas cabeças inserção e retirada na primeira e na última posições Métodos de consulta e de retirada Exceções void addFirstE elemento void addLastE elemento E removeFirst E removeLast Nulos E peekFirst E peekLast E pollFirst E pollLast Implementa ListE e DequeE Lista simples Fila de duas cabeças Pilha Estrutura dinâmica Tamanho flexível Conjuntos coleções sem repetição equals hashCode Dois conjuntos são iguais somente se forem do mesmo tamanho e contiverem elementos iguais Cuidado adicional com elementos mutáveis HashSet estrutura mais rápida para localização Sem garantia de ordem de inserção LinkedHashSet garantia da ordem de inserção Classes HASHSETE e LINKEDHASHSETE Tabelas para acesso a dados Desempenho excelente para adicionar remover verificar existência e tamanho Tamanho fixo e redimensionável Atenção para Capacidade inicial Fator de carga E first menor elemento E last maior elemento subconjunto de menor que SortedSetE headSetE elemento subconjunto de maior que SortedSetE tailSetE elemento subconjunto entre de e até SortedSetE subSetE de E até INTERFACE SORTEDSETE Conjunto ordenado ordem natural ou comparador passado como parâmetro Resultado de equals deve ser consistente com compareTo Classe TREESETE Implementa SortedSetE Estrutura de dados árvore Conjunto com acesso organizadoordenado E pollFirst remove menor elemento E pollLast remove maior elemento menor elemento a partir de teto E ceilingE teto maior elemento até piso E floorE piso maior elemento até piso Iterador para andar ao contrário IteratorE descendingIterator Collections classe com implementação static de algoritmos comuns aplicáveis a objetos que se enquadrem como coleções sort fill binarySearch min shuffle copy frequency max reverse swap disjoint O que você usaria para as situações a seguir Preciso anotar diversos produtos para comprar Quero acessar conteúdos de aulas dadas na ordem em que aconteceram O que você usaria para as situações a seguir Preciso armazenar as contas a pagar e quero que aquela com o vencimento mais próximo apareça primeiro Gostaria de armazenar as contas a pagar e sempre que necessário visualizar as contas de um determinado período UTILIZANDO MAPAS JCF MAPAS E MAPEAMENTOS Não implementam a interface Collection mas oferecem operações semelhantes Não são iteráveis Associação de chaves e valoresobjetos Parâmetro duplo Localização rápida de elementos Mapeamento chavevalor Conjunto de chaves Coleção de valores Sem chaves duplicadas Substitui elementos com a mesma chave Cuidado com a mutabilidade de objetoschave PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram JCF MAPEAMENTOS interface Map interface SortedMap HashTable LinkedHashMap HashMap TreeMap V putK chave V valor V removeK chave V get K chave void clear boolean containsKeyObject chave boolean containsValueObject valor SetK keySet conjunto de chaves Collection V values coleção de valores Mapeamento rápido mapa tabela hash Busca mais rápida Não garante ordem de entrada e nem ordem constante PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Mapeamento rápido mapa tabela hash Busca mais rápida Não garante ordem de entrada e nem ordem constante LinkedHashMap Contém lista para iterar com ordem previsível PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Mapeamentos ordenadosorganizados Ordem natural Comparador por parâmetro Chaves obrigatoriamente implementam Comparable Navegação em ordem crescente Consistência das operações de K TreeMapComparator super K comparator SortedMapKV headMapK limite SortedMapKV tailMapK inicio SortedMapKV subMapK inicio K limite NavigableMapKV descendingMap TreeMapKV implementa SortedMap Organização em árvore balanceada vermelhopreto Ordenação natural ou comparador por parâmetro Consistência do comparador com equals O que você usaria para as situações a seguir Preciso anotar diversos produtos para comprar Muitas vezes preciso consultar ou alterar detalhes de produtos Quero acessar o conteúdo das aulas dadas na ordem em que aconteceram Também preciso eventualmente modificar detalhes destes conteúdos OBRIGADO Dúvidas PUC Minas Bacharelado em Engenharia de Software O que você usaria para as situações a seguir Preciso anotar diversos compromissos com o mais próximo sempre aparecendo na frente Após a data de um compromisso posso querer localizálo e removêlo da lista Preciso constantemente saber e alterar detalhes destes compromissos Preciso ainda filtrar compromissos por períodos específicos