0% acharam este documento útil (0 voto)
8 visualizações22 páginas

Arraysjavinha

O documento apresenta uma introdução à Programação Orientada a Objetos em Java, focando em Arrays e ArrayLists. Explica as características, declaração, alocação e manipulação de arrays unidimensionais e multidimensionais, além de introduzir a classe ArrayList como uma alternativa dinâmica para armazenar coleções de objetos. Também inclui exercícios práticos para aplicar os conceitos aprendidos.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
8 visualizações22 páginas

Arraysjavinha

O documento apresenta uma introdução à Programação Orientada a Objetos em Java, focando em Arrays e ArrayLists. Explica as características, declaração, alocação e manipulação de arrays unidimensionais e multidimensionais, além de introduzir a classe ArrayList como uma alternativa dinâmica para armazenar coleções de objetos. Também inclui exercícios práticos para aplicar os conceitos aprendidos.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 22

Programação Orientada a Objetos

Arrays e ArraysList em Java


Uma Introdução

Professor: Leandro Fernandes dos Santos


E-mail: leandro.f.santos@iff.edu.br
Introdução

O que é uma coleção?


Um objeto que agrupa múltiplos elementos em uma única unidade.

Usadas para armazenar, recuperar e manipular elementos que formam


um grupo natural.

O que é um Array?
Array é uma coleção de tipos primitivos, são referências para objetos ou
outros arrays;

Os arrays em Java são homogêneos, ou seja, eles só podem conter


dados do mesmo tipo;

Os arrays são objetos, e devem ser construídos antes de serem usados;

Os array são iniciados automaticamente quando criados;

2
Arrays x Containers

Arrays são um objeto especial de Java, com sintaxe especialmente


definida:

int a[] = new int[10];

 fortemente tipado

Containers são objetos “comuns”


 parte do pacote java.util
 fracamento tipado (usa a classe Object)

Nesta apresentação serão apresentadas algumas características de


Arrays em Java, como declará-los, inicializá-los e utilizá-los.

3
Características de Arrays

Array é um tipo embutido da linguagem Java;

Array é uma sequência linear de acesso randômico;

O tamanho do Array não pode ser alterado;

A propriedade “length” armazena o tamanho do array;

Array é eficiente (embora não seja flexível).

Observação:

Uma array de tipos primitivos guarda valores, um array de objetos guarda


referências.

4
Arrays Unidimensionais

Declarando Arrays

A declaração de arrays em Java é feita utilizando a notação de colchetes:


uma variável declarada como sendo de um tipo específico seguido de um par
de colchetes será uma referência à um array de elementos daquele tipo.

Exemplos:

int[] posicoesDeMemoria;
char[] letrasDoAlfabeto;
double[] medidasDeTemperatura;

Nos exemplos acima, a variável posicoesDeMemoria será uma referência


para um array de valores do tipo int.

5
Arrays Unidimensionais

Alocação de Arrays

Não basta apenas declarar referências para arrays, estas devem ser
inicializadas (ter memória alocada para seus elementos).

Um array deve ser inicializado com a palavra new, seguida do tipo de dado a
ser alocado e o número de elementos a alocar, entre colchetes.

Exemplos:

6
Arrays Unidimensionais

Alocação de Arrays

Uma vez inicializado, um array não poderá ter seu tamanho


modificado, embora possamos utilizar a referência para apontar para outro
array.

Quando arrays nativos são inicializados, os elementos automaticamente


recebem valores padrão (default): elementos de arrays de valores booleanos
serão inicializados com false, elementos arrays de valores numéricos
(char, byte, short, int, float, long, double) serão
inicializados com zeros.

7
Arrays Unidimensionais

Índice de Arrays

O índice para acesso a um elemento de um array deverá ser um valor de


0 até o tamanho do array menos 1 ( 0 <= indice <= N - 1).

Não é possível acessar elementos fora da faixa de valores acima


especificados.

O índice deve ser sempre um inteiro positivo.

Um array deve ser inicializado com um tipo compatível ao que foi


declarado. O não seguimento desta regra causará um erro de compilação.

8
Arrays Unidimensionais

Percorrendo Arrays

Podemos percorrer os array de forma bem direta, usando uma estrutura de


repetição for ou através do enhanced for, também conhecido com for
each.

Exemplo:

9
Arrays Unidimensionais

Arrays de Instâncias de Classes

Podemos criar arrays de instâncias de classes já existentes no Java ou


àquelas definidas pelo programador.

Uma diferença fundamental entre os arrays de tipos nativos e de instâncias


de classes é que elementos de arrays nativos devem ser sempre do mesmo
tipo, já os elementos de arrays de instâncias podem conter instâncias de
qualquer classe que seja herdeira da classe usada na declaração do array.

Exemplo:
Se declararmos um arrays de instâncias de uma classe Pessoa, poderíamos
inicializar um de seus elementos como sendo uma instância da classe Aluno,
se Aluno for herdeira, direta ou indiretamente da classe Pessoa.

10
Arrays Unidimensionais

Arrays de Instâncias de Classes

Exemplos:

11
Arrays Unidimensionais

Passando Arrays para métodos

Ao passarmos arrays para métodos não precisamos passar seu tamanho


com argumento adicional, podemos simplesmente passar ou nome do array
na chamada do método.

Ao recebermos o array no método pré-existente devemos utilizar a notação


de colchetes como se estivéssemos declarando um array daquele tipo.

12
Arrays Unidimensionais

Passando Arrays para métodos

Exemplo:
...
// declarando o array
double[] temperaturasDiarias = new double[24];

então se existir um método em alguma classe que calcula a média de


temperaturas em um dia e que contenha o método
calculaMediaDeTemperaturas, então sua chamada seria o seguinte:

calculaMediaDeTemperaturas(temperaturasDiarias);

Na declaração do método acima na classe, então a notação de colchetes


deverá ser utilizada como no exemplo abaixo:

double calculaMediaDeTemperaturas(double[] pVetorDeTempDiarias) {...};

13
Arrays Multidimensionais

Podemos facilmente criar arrays multimensionais em Java, onde a posição


de cada elemento dentro do array será indicada por dois ou mais índices.

Um exemplo comum de arrays multimensionais são as matrizes


Matemáticas, que representam valores tabulados em linhas e colunas.

Exemplo:

14
Arrays Irregulares

Uma característica interessante da maneira com que arrays multimensionais


são implementados em Java é que eles não precisam ter o mesmo número
de valores para cada dimensão, ou seja, é possível declararmos arrays que
sejam irregulares.

Poderíamos por, exemplo declarar um array que tivesse configuração como


mostrado na figura abaixo.

15
Arrays Irregulares

Exemplo:

Tente desenhar como a estrutura a acima declarada ficará representada em


memória.

16
Coleções e ArraysList

A API do Java fornece várias estruturas de dados predefinidas, chamadas


coleções, utilizadas para armazenar grupos de objetos relacionados.

Estas classes fornecem métodos eficientes que organizam, armazenam e


recuperam seus dados sem que seja necessário conhecer como os dados
estão armazenados.

Como foi visto, arrays não alteram automaticamente seu tamanho em tempo
de execução para acomodar os elementos adicionais.

A classe ArrayList <T> (do pacote java.util) fornece uma solução


conveniente a esse problema – ela pode alterar dinamicamente seu tamanho
para acomodar novos elementos.

17
Coleções e ArraysList

Ao declarar um ArrayList, substitua-o pelo tipo de elementos que você quer


que o ArrayList contenha. O processo é semelhante ao especificar o tipo ao
declarar um array, exceto que apenas tipos não primitivos podem ser
utilizados com estas classes de coleções.

Exemplo:

ArrayList<String> list;

O comando acima declara list como uma coleção ArraList que só poderá
armazenar Strings.

18
Coleções e ArraysList

Exemplos de alguns métodos da Classe ArrayList<T>:

Método Descrição
add(elemento) Adiciona um elemento ao fim do ArrayList
clear() Remove todos os elementos do ArrayList
contains(elemento) Retorna true se o ArrayList contiver o elemento especificado, e false
caso contrário
get(indice) Retorna o elemento no índice específico
indexOf(elemento) Retorna o índice da primeira ocorrência do elemento especificado
em ArrayList
remove(elemento) Remove a primeira ocorrência do elemento especificado
remove(indice) Remove o elemento no índice especificado
size() Retorna o número de elementos contidos no ArrayList

19
Coleções e ArraysList
Exemplo:

20
Exercícios

1) Crie um programa que armazene as notas de provas de 50 estudantes e


crie um método que calcule e retorne a somatória das notas de todos os
estudantes. Imprima o valor no console.

2) Crie um outro método no programa que liste as notas de todos os


estudantes.

3) Crie um outro método no programa que calcule e retorne a média


ponderada das notas de todos os estudantes. Imprima o valor no
console. Dica: reutilize o método de calcular a somatória das notas.

Observação: O programa deverá chamar uma outra classe que faça todos
estes cálculos e listagens.

Faça os exercícios a cima utilizando Arrays estáticos e posteriormente os


refaça utilizando a classe ArrayList.

21
Referências

CARMO, D. D. - Curso de Introdução ao Java - Softech Network.

SANTOS, Rafael. Introdução a Programação Orientada a Objetos usando


Java. 2ª Ed. 2013 – Editora Campus.

DEITEL, P.; DEITEL, H. - Java, Como Programar. 8ª Ed. 2010 - Pearson


Education.

FILHO, C. V. F. Java - Coleções – Notas de Aula - 2011. UFES.

22

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy