12.07.2015 Views

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

COLLECTIONSC A P Í T U L O18Quando uma aplicação precisa manipular uma quantida<strong>de</strong> gran<strong>de</strong> <strong>de</strong> dados, ela <strong>de</strong>ve utilizaralguma estrutura <strong>de</strong> dados. Po<strong>de</strong>mos dizer que a estrutura <strong>de</strong> dados mais básica do Java são osarrays.Muitas vezes, trabalhar diretamente com arrays não é simples dado as diversas limitações queeles possuem. A limitação principal é a capacida<strong>de</strong> fixa, um array não po<strong>de</strong> ser redimensionado. Setodas as posições <strong>de</strong> um array estiverem ocupadas não po<strong>de</strong>mos adicionar mais elementos. Normalmente,criamos um outro array com maior capacida<strong>de</strong> e transferimos os elementos do array antigopara o novo.Além disso, adicionar ou remover elementos provavelmente gera a necessida<strong>de</strong> <strong>de</strong> <strong>de</strong>slocar partedo conteúdo do array.As dificulda<strong>de</strong>s do trabalho com array po<strong>de</strong>m ser superadas com estruturas <strong>de</strong> dados mais sofisticadas.Na biblioteca do Java, há diversas estruturas <strong>de</strong> dados que facilitam o trabalho do <strong>de</strong>senvolvedor.ListasAs listas são estruturas <strong>de</strong> dados <strong>de</strong> armazenamento sequencial assim como os arrays. Mas, diferentementedos arrays, as listas não possuem capacida<strong>de</strong> fixa o que facilita bastante o trabalho.List é a interface Java que <strong>de</strong>fine os métodos que uma lista <strong>de</strong>ve implementar. As principais implementaçõesda interface List são: ArrayList, LinkedList e Vector. Cada implementação possuisuas características sendo apropriadas para contextos diferentes.1 ArrayList arrayList = new ArrayList ();Código Java 18.1: ArrayList1 LinkedList linkedList = new LinkedList ();Código Java 18.2: LinkedList1 Vector vector = new Vector ();Código Java 18.3: VectorPo<strong>de</strong>mos aplicar o polimorfismo e referenciar objetos criados a partir das classes: ArrayList,LinkedList e Vector como List.1 List list = new ArrayList ();www.<strong>k19</strong>.com.br 151

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!