+ All Categories
Home > Documents > Aula 5 - Array e ArrayList - Continuação

Aula 5 - Array e ArrayList - Continuação

Date post: 05-Jul-2018
Category:
Upload: carlos-barreto
View: 221 times
Download: 0 times
Share this document with a friend

of 19

Transcript
  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    1/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Array, ArrayList e LinkedList

    Carlos Barreto

    strutura de dados

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    2/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    ! Con"eitos

    ! Diferen#as entre $rra% e $rra%&ist! 'mplementa#(o de ambas as estruturas

    Agenda

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    3/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Array x ArrayList

    Basicamente, é assim:

    • Array tem um tamanho fixo, desde que o objeto écriado, e esse tamanho é imutável.

    Strin!" array # new Strin!$"%

    • &sse Array de Strin S&'()& vai ter $ *osi+es,

    inde*endente se todas est-o ocu*adas ou n-o.

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    4/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Array x ArrayList

    Basicamente, é assim:

    • Arrayist n-o, ela tem o tamanho exato de quantoscom*onentes ela tiver.

     Arrayist arrayist # ne/ Arrayist01%

    • &le tem 2ero *osi+es. A medida em que itens

    s-o adicionados, ela cresce, ou diminui ao se

    retirar itens, com os métodos add01 e remove01

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    5/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Array x ArrayList

    3emonstra+-o ráfica:

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    6/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Array x ArrayList

    4m*ortante:

    • Array *ode ser de ti*os *rimitivos, uma Arrayistn-o.

    • Arrayist s5 *ode conter objetos, se voc6 *recisar de

    uma Arrayist de um ti*o *rimitivo, vai *recisar de

    uma das classes que os re*resentam

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    7/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Array x ArrayList

    &xem*los:

    77&sse está certo

    •int!" ints # new int!89"% 

    •77ambém

    • Arrayist;Strin< strins # new Arrayist;Strin

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    8/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Entendendo a classe ArrayList

     A classe Arrayist é uma im*lementa+-o de Array

    redimensionável da interface ist.

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    9/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Entendendo a classe ArrayList

    Alguns dos métodos mais utilizados

    •add # Adiciona um objeto ao *artici*ante do Arrayist.

    •et # recu*era o objeto na *osi+-o >n?.

    •clear # )emove todos os elementos a Arrayist.

    •clone # @ria uma c5*ia su*erficial do Arrayist.

    •contains # 3etermina se é um elemento no Arrayist.

    •insert # 4nsere um elemento a Arrayist no ndicees*ecificado.

    •remove # )emove a *rimeira ocorr6ncia de um objeto

    es*ecfico a Arrayist.

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    10/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Entendendo a classe ArrayList

    Alguns dos métodos mais utilizados (CONTINUAÇÃO)

    •removeAt # )emove o elemento no ndice

    es*ecificado do Arrayist.

    •re*eat # )etorna um Arrayist cujos elementos s-o c5*ias do

    valor es*ecificado.

    •toStrin # )etorna um Strin que re*resenta o corrente

    =bject.

    •si2e # retorna o nmero de elementos.

    •set # sobrescreve o objeto na *osi+-o >n? com o objeto obj.

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    11/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Entendendo a classe ArrayList

    Resumindo

    = Arrayist nada mais é do que uma sequ6ncia de objetos e

    suas *ro*riedades s-o:

    • Arma2ena refer6ncias a =bject%

    • Aumenta a ca*acidade interna conforme necessário%

    •'antém os objetos em ordem de inser+-o%

    • As *osi+es dos elementos s-o iniciadas em 2ero.

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    12/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Coleçes

    • Benefcios na utili2a+-o de cole+es:

     C )edu2 o esfor+o de *rorama+-o%

     C Aumenta a velocidade e qualidade de *rorama+-o%

     C (ermite intero*erabilidade entre A(4s% C )edu2 o esfor+o *ara a*render e usar uma nova A(4%

     C )edu2 o esfor+o no *rojeto de uma nova A(4%

     C Davorece o reuso de *roramas.

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    13/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    As inter!aces de coleçes

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    14/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    "e!erenciais

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    15/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Coleçes

    • @ollection C o elemento rai2 que re*resenta um

    ru*o de objetos conhecidos como seus

    elementos.

    • Set C uma cole+-o que n-o contém elementosdu*licados.

    • ist C uma cole+-o ordenada *odendo conter

    elementos du*licados.• Eueue C uma cole+-o usada *ara arma2enar

    elementos *ara um *rocessamento. (ode ser D4D=

    0Dist 4n*ut Dist =ut*ut1.

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    16/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    Coleçes

    ! )ap – mapeia um objeto a uma "*ave.

    ! SortedSet – + uma Set ,ue mant+m seus elementosem ordem "res"ente.

    ! Sorted)ap – + um )ap ,ue mant+m seus elementosem ordem "res"ente.

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    17/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    So#re LinkedList

    • LinkedList F a ai uma classe que me chamou

    muito aten+-o, em rela+-o as demais ela

    é considerada a mais rá*ida em as*ectos de

    4nser+-o e 4ntera+-o. 'as se voc6 necessitaa*enas recu*erar dados *ara exibi+-o, deixando de

    lado a altera+-o e exclus-oG inHedist é a

    melhor.

    ArrayList C (rovavelmente é a mais utili2ada econhecida *or todos, e considerada a mais

    adequada se voc6 *recisa reali2ar acessos

    de ndice 0Acesso Aleat5rio1.

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    18/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    "e!erenciais

  • 8/16/2019 Aula 5 - Array e ArrayList - Continuação

    19/19

    Faculdade Leão Sampaioleaosampaio.edu.br

    Análise e Desenvolvimento de SistemasProjeto de Desenvolvimento de Software – 310-4

    "e!erenciais

    • htt*:77docs.oracle.com7javase7I7docs7a*i7java7util7Arrayist.html,

    acessado em 88 de aosto de 89J$.

    • rabalho Arrayist F 'aicon Deder. htt*:77javaF

    famesul.blos*ot.com.br789J97J87trabalhoFarraylistFmaiconFfeder.html,

    acessado em 88 de aosto de 89J$.• htt*:77javarequest./ord*ress.com7ta7arraylistFvsFlinHedlist7, acessado

    em 9J de setembro de 89JK.

    ! *ttpwww.devmedia."om.brdiferen"a-entre-arra%list-ve"tor-e-lin/edlist-em-java12 a"essado em de a5osto de 014.


Recommended