DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Artigo Java Magazine 43 - Coleções em Ordem

Artigo publicado pela Java Magazine 43.

Esse artigo faz parte da revista Java Magazine edição 43. Clique aqui para ler todos os artigos desta edição

Coleções em Ordem

Gerenciando e ordenando dados na camada de objetos

Desenvolva uma aplicação web fazendo uso dos recursos de ordenação de objetos oferecidos pelas classes e interfaces da API de coleções.

Neste artigo, vamos abordar a API de coleções Java, uma das mais úteis e importantes do Java SE, explorando principalmente seus recursos para ordenação. Serão apresentados alguns tipos de coleções fundamentais, bem como as classes utilitárias Arrays, Collections, Comparable e Comparator. Para exemplificar, criaremos uma aplicação web que exibe, de forma ordenada, uma listagem de clientes obtidos de uma base de dados. Clicando sobre uma das colunas da listagem, o usuário pode ordenar os clientes por vários campos, sem a necessidade de executar novas consultas no banco de dados.

Introdução ao uso de coleções

Em termos gerais, uma coleção pode ser entendida como um grupo de objetos com características em comum. A forma mais básica de se trabalhar com grupos de objetos em Java é por meio de arrays. Mas a manipulação de arrays com esse objetivo não é uma tarefa simples – especialmente nas operações de inserção, remoção e ordenação de objetos.

Para a manipulação de grupos de objetos, portanto, os arrays não são práticos o suficiente. Isso motivou os criadores de Java a definir, desde o Java 1.0, coleções dinâmicas como Vector e Hashtable. E no Java 2, veio a definição de uma arquitetura unificada pra representar e manipular coleções de objetos em Java – o Java Collections Framework. Formada por interfaces, classes abstratas e implementações focadas em vários cenários de uso, o framework de coleções traz muitas facilidades importantes. Com ele, deixa de ser necessário implementar métodos de inserção, remoção, ordenação e busca, por exemplo. Esses recursos já são oferecidos, com implementações eficientes e bem testadas.

Basicamente, o framework de coleções é composto por:

·         Interfaces de coleções, que representam os diferentes tipos de coleções (Collection, Set, List, Queue, Map etc.);

·         Implementações das interfaces, que podem ser utilizadas pelos programadores para criar instâncias das coleções prontas para uso (HashSet, ArrayList, PriorityQueue etc.);

·         Implementações legadas, que são as classes que já existiam antes da criação do framework (Vector e Hashtable);

·         Classes abstratas, implementações parciais das interfaces para facilitar implementações customizadas (AbstractList, AbstractSet, etc.);

·         Classes utilitárias, contendo métodos úteis para manipulação de coleções, tais como métodos de ordenação e busca (ex.: Collections).

 

As interfaces Map e Collection formam a base do framework. Collection permite a manipulação padronizada de coleções de tipos variados (List, Set ou Queue). Também define os métodos minimamente necessários para todas as coleções, tais como add(Object o), remove(Object o), contains(Object o), size(), entre outros. A Figura 1 apresenta um diagrama com as principais coleções e classes utilitárias que fazem parte do framework. Os itens desse diagrama são descritos na Tabela 1 (interfaces) e na Tabela 2 (classes). Este artigo aborda principalmente as interfaces descendentes de Collection.

Todas as interfaces de coleções, a partir do Java 5, são genéricas. Isso significa que, quando se cria uma instância de um subtipo de Collection ou de Map, é possível especificar o tipo de objeto que a coleção pode armazenar. Assim, se pode verificar se os objetos inseridos na coleção são do tipo correto em tempo de compilação. Para nos concentrar no uso e ordenação das coleções, não detalhamos o recurso de tipos genéricos, mas o usaremos ao definir nossas coleções. "



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Yara M. H. Senger

É formada em Ciências da Computação na USP em São Carlos, especialista em desenvolvimento web; possui as certificações Sun : SCJA (Associate), SCJP (Programmer), e SCWCD (Web Component Developer) e CSM (Scrum Master).


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03