SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Framework Collections
Arthur Emanuel de Oliveira Carosia
Arrays - Problemas
• Não podemos redimensionar um array em Java;
• É impossível buscar diretamente por um
determinado elemento cujo índice não se sabe;
• Não conseguimos saber quantas posições do
array já foram povoadas sem criar, para isso,
métodos auxiliares.
Collections
• Conjunto robusto de classes para suprir a
necessidade de estruturas de dados básicas
• Com esses e outros objetivos em mente, o
comitê responsável pelo Java criou um
conjunto de classes e interfaces conhecido
como Collections Framework, que reside no
pacote java.util desde o Java2 1.2.
Listas
• Java.util.list
• Uma lista é uma coleção que permite elementos
duplicados e mantém uma ordenação específica
entre os elementos.
• A API de Collections traz a interface java.util.List,
que especifica o que uma classe deve ser capaz
de fazer para ser uma lista.
– Há diversas implementações disponíveis, cada uma
com uma forma diferente de representar uma lista.
Listas
• A implementação mais utilizada da interface List é a ArrayList,
que trabalha com um array interno para gerar uma lista.
Collections.sort
• Ordenação
– Método destinado a percorrer uma lista de forma
ordenada
Ordenação de Objetos
• Como definir o critério para ordenar um
determinado objeto?
Ordenação de Objetos
• o método sort necessita que todos seus objetos da lista
sejam comparáveis e possuam um método que se
comparam os objetos
• Vamos fazer com que os elementos da nossa coleção
implementem a interfacejava.lang.Comparable, que define
o método int compareTo(Object). Este método deve
retornar
– zero, se o objeto comparado for igual a este objeto,
– um númeronegativo, se este objeto for menor que o objeto
dado, e
– um número positivo, se este objeto for maior que o objeto
dado.
Ordenação de Objetos
Outros métodos da classe Collections
• A classe Collections traz uma grande quantidade
de métodos estáticos úteis na manipulação de
coleções.
– binarySearch(List, Object): Realiza uma busca binária
por determinado elemento na lista ordenada e
retorna sua posição ou um número negativo, caso não
encontrado.
– max(Collection): Retorna o maior elemento da
coleção.
– min(Collection): Retorna o menor elemento da
coleção.
– Reverse(List): Inverte a lista.
Conjuntos
• JAVA.UTIL.SET
• Um conjunto (Set) funciona de forma análoga aos
conjuntos da matemática, ele é uma coleção que
não permite elementos duplicados.
• A ordem em que os elementos são armazenados
pode não ser a ordem na qual eles foram
inseridos no conjunto
• Para perceber se um item já existe em uma lista,
é muito mais rápido usar algumas
implementações de Set do que um List
Conjuntos
Conjuntos
Um conjunto é
representado pela
interface Set e tem
como suas principais
implementações:
• HashSet
• LinkedHashSet
• TreeSet.
Conjuntos
• Aqui, o segundo Diretor não será adicionado e
o método add lhe retornará false.
Mapas
• Um mapa é composto por um conjunto de
associações entre um objeto chave a um objeto
valor.
• java.util.Map é um mapa, pois é possível usá-lo
para mapear uma chave a um valor
• O método put(Object, Object) da
interface Map recebe a chave e o valor de uma
nova associação.
• Para saber o que está associado a um
determinado objeto-chave, passa-se esse objeto
no método get(Object).
Mapas
Mapas
Mapas
• Um mapa é muito usado para "indexar"
objetos de acordo com determinado critério,
para podermos buscar esse objetos
rapidamente.
• Suas principais implementações são
o HashMap, o TreeMap e o Hashtable.
Mapas
Exercícios
• Desenvolva uma classe aluno com os atributos
número do aluno e série. Implemente os
construtores e getters e setters.
• Crie uma lista aleatória de 200 alunos em uma
classe Principal e os ordene por número.
Exercícios
• Gere 200 números aleatórios que devem
variar de 0 a 100. Insira cada um desses
números em um Set e verifique no final
quantos elementos esse Set possui de fato.
• Qual a conclusão podemos chegar a respeito?
Exercícios
• Desenvolva um mapa que associe uma String,
denominada cargo, a um aluno (nome,
número, série).
• Insira e recupere os seguintes elementos do
mapa:
– Representante Discente,{”Jose da Silva”,2,2ºano}
– Representante de Sala,{”Ana”,22,1ºano}
– Aniversariante do dia,{”Leleo”,24,3ºano}
Framework Collections
Arthur Emanuel de Oliveira Carosia

Weitere ähnliche Inhalte

Was ist angesagt?

Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)Armando Daniel
 
[Curso Java Basico] Exercicios Aulas 28 a 33
[Curso Java Basico] Exercicios Aulas 28 a 33[Curso Java Basico] Exercicios Aulas 28 a 33
[Curso Java Basico] Exercicios Aulas 28 a 33Loiane Groner
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
[Curso Java Basico] Exercicios Aula 35
[Curso Java Basico] Exercicios Aula 35[Curso Java Basico] Exercicios Aula 35
[Curso Java Basico] Exercicios Aula 35Loiane Groner
 
Strings in Java
Strings in Java Strings in Java
Strings in Java Hitesh-Java
 
[Curso Java Basico] Exercicios Aulas 47 a 52
[Curso Java Basico] Exercicios Aulas 47 a 52[Curso Java Basico] Exercicios Aulas 47 a 52
[Curso Java Basico] Exercicios Aulas 47 a 52Loiane Groner
 
[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36Loiane Groner
 
Java 101 Intro to Java Programming - Exercises
Java 101   Intro to Java Programming - ExercisesJava 101   Intro to Java Programming - Exercises
Java 101 Intro to Java Programming - Exercisesagorolabs
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Java collections concept
Java collections conceptJava collections concept
Java collections conceptkumar gaurav
 
Java Collections
Java CollectionsJava Collections
Java Collectionsparag
 
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...Edureka!
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaLoiane Groner
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosphelypploch
 
[Curso Java Basico] Exercicios Aulas 44 a 46
[Curso Java Basico] Exercicios Aulas 44 a 46[Curso Java Basico] Exercicios Aulas 44 a 46
[Curso Java Basico] Exercicios Aulas 44 a 46Loiane Groner
 
[Curso Java Basico] Exercicios Aula 34
[Curso Java Basico] Exercicios Aula 34[Curso Java Basico] Exercicios Aula 34
[Curso Java Basico] Exercicios Aula 34Loiane Groner
 

Was ist angesagt? (20)

Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
[Curso Java Basico] Exercicios Aulas 28 a 33
[Curso Java Basico] Exercicios Aulas 28 a 33[Curso Java Basico] Exercicios Aulas 28 a 33
[Curso Java Basico] Exercicios Aulas 28 a 33
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
[Curso Java Basico] Exercicios Aula 35
[Curso Java Basico] Exercicios Aula 35[Curso Java Basico] Exercicios Aula 35
[Curso Java Basico] Exercicios Aula 35
 
Strings in Java
Strings in Java Strings in Java
Strings in Java
 
[Curso Java Basico] Exercicios Aulas 47 a 52
[Curso Java Basico] Exercicios Aulas 47 a 52[Curso Java Basico] Exercicios Aulas 47 a 52
[Curso Java Basico] Exercicios Aulas 47 a 52
 
[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36
 
Java 101 Intro to Java Programming - Exercises
Java 101   Intro to Java Programming - ExercisesJava 101   Intro to Java Programming - Exercises
Java 101 Intro to Java Programming - Exercises
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Java collections concept
Java collections conceptJava collections concept
Java collections concept
 
Java Collections
Java CollectionsJava Collections
Java Collections
 
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
Java Collections Framework
Java Collections FrameworkJava Collections Framework
Java Collections Framework
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
 
[Curso Java Basico] Exercicios Aulas 44 a 46
[Curso Java Basico] Exercicios Aulas 44 a 46[Curso Java Basico] Exercicios Aulas 44 a 46
[Curso Java Basico] Exercicios Aulas 44 a 46
 
07 java collection
07 java collection07 java collection
07 java collection
 
[Curso Java Basico] Exercicios Aula 34
[Curso Java Basico] Exercicios Aula 34[Curso Java Basico] Exercicios Aula 34
[Curso Java Basico] Exercicios Aula 34
 

Andere mochten auch

Andere mochten auch (18)

Preparing Java 7 Certifications
Preparing Java 7 CertificationsPreparing Java 7 Certifications
Preparing Java 7 Certifications
 
Java simple programs
Java simple programsJava simple programs
Java simple programs
 
Advance java practicalty bscit sem5
Advance java practicalty bscit sem5Advance java practicalty bscit sem5
Advance java practicalty bscit sem5
 
java collections
java collectionsjava collections
java collections
 
Java Simple Programs
Java Simple ProgramsJava Simple Programs
Java Simple Programs
 
Java collections
Java collectionsJava collections
Java collections
 
Java Collections Tutorials
Java Collections TutorialsJava Collections Tutorials
Java Collections Tutorials
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java Programming
 
Ch01 basic-java-programs
Ch01 basic-java-programsCh01 basic-java-programs
Ch01 basic-java-programs
 
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conferenceJava Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
 
Simple Java Programs
Simple Java ProgramsSimple Java Programs
Simple Java Programs
 
Most Asked Java Interview Question and Answer
Most Asked Java Interview Question and AnswerMost Asked Java Interview Question and Answer
Most Asked Java Interview Question and Answer
 
Java Collections Framework
Java  Collections  FrameworkJava  Collections  Framework
Java Collections Framework
 
Advanced Java Practical File
Advanced Java Practical FileAdvanced Java Practical File
Advanced Java Practical File
 
Introduction to-programming
Introduction to-programmingIntroduction to-programming
Introduction to-programming
 
Java codes
Java codesJava codes
Java codes
 
Java PRACTICAL file
Java PRACTICAL fileJava PRACTICAL file
Java PRACTICAL file
 
Java programming-examples
Java programming-examplesJava programming-examples
Java programming-examples
 

Ähnlich wie Java: Collections

Ähnlich wie Java: Collections (20)

Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections
 
Aula05
Aula05Aula05
Aula05
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05
 
8 collections-i
8 collections-i8 collections-i
8 collections-i
 
Curso java 08 - mais sobre coleções
Curso java   08 - mais sobre coleçõesCurso java   08 - mais sobre coleções
Curso java 08 - mais sobre coleções
 
Slide Semana2 Rodrigo
Slide Semana2 RodrigoSlide Semana2 Rodrigo
Slide Semana2 Rodrigo
 
Java 12 Colecoes
Java 12 ColecoesJava 12 Colecoes
Java 12 Colecoes
 
Slide Share s2 Rodd
Slide Share s2 RoddSlide Share s2 Rodd
Slide Share s2 Rodd
 
Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2
 
Aula 2 2
Aula 2 2 Aula 2 2
Aula 2 2
 
Seminário - Java Collections
Seminário - Java CollectionsSeminário - Java Collections
Seminário - Java Collections
 
Resumão java
Resumão javaResumão java
Resumão java
 
Csharp fundamentals
Csharp fundamentalsCsharp fundamentals
Csharp fundamentals
 
POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
 
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasCurso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
 
Java Collections - Tomaz Lavieri
Java Collections - Tomaz LavieriJava Collections - Tomaz Lavieri
Java Collections - Tomaz Lavieri
 
Java: Composicao e Array List
Java: Composicao e Array ListJava: Composicao e Array List
Java: Composicao e Array List
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
 
Aula 02 - JavaScript: Arrays
Aula 02 - JavaScript: ArraysAula 02 - JavaScript: Arrays
Aula 02 - JavaScript: Arrays
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 

Mehr von Arthur Emanuel

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningArthur Emanuel
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - JavaArthur Emanuel
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosArthur Emanuel
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com FacebookArthur Emanuel
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaArthur Emanuel
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuArthur Emanuel
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomArthur Emanuel
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoArthur Emanuel
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosArthur Emanuel
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoArthur Emanuel
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoArthur Emanuel
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioArthur Emanuel
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, FormulárioArthur Emanuel
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPSArthur Emanuel
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo WebservicesArthur Emanuel
 

Mehr von Arthur Emanuel (20)

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com Facebook
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - Exercício
 
CSS 3
CSS 3CSS 3
CSS 3
 
CSS
CSSCSS
CSS
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
 
HTML - Introducao
HTML - Introducao HTML - Introducao
HTML - Introducao
 
Android - Google Maps
Android - Google MapsAndroid - Google Maps
Android - Google Maps
 
Android - Bluetooth
Android - BluetoothAndroid - Bluetooth
Android - Bluetooth
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo Webservices
 

Java: Collections

  • 2. Arrays - Problemas • Não podemos redimensionar um array em Java; • É impossível buscar diretamente por um determinado elemento cujo índice não se sabe; • Não conseguimos saber quantas posições do array já foram povoadas sem criar, para isso, métodos auxiliares.
  • 3. Collections • Conjunto robusto de classes para suprir a necessidade de estruturas de dados básicas • Com esses e outros objetivos em mente, o comitê responsável pelo Java criou um conjunto de classes e interfaces conhecido como Collections Framework, que reside no pacote java.util desde o Java2 1.2.
  • 4. Listas • Java.util.list • Uma lista é uma coleção que permite elementos duplicados e mantém uma ordenação específica entre os elementos. • A API de Collections traz a interface java.util.List, que especifica o que uma classe deve ser capaz de fazer para ser uma lista. – Há diversas implementações disponíveis, cada uma com uma forma diferente de representar uma lista.
  • 5. Listas • A implementação mais utilizada da interface List é a ArrayList, que trabalha com um array interno para gerar uma lista.
  • 6. Collections.sort • Ordenação – Método destinado a percorrer uma lista de forma ordenada
  • 7. Ordenação de Objetos • Como definir o critério para ordenar um determinado objeto?
  • 8. Ordenação de Objetos • o método sort necessita que todos seus objetos da lista sejam comparáveis e possuam um método que se comparam os objetos • Vamos fazer com que os elementos da nossa coleção implementem a interfacejava.lang.Comparable, que define o método int compareTo(Object). Este método deve retornar – zero, se o objeto comparado for igual a este objeto, – um númeronegativo, se este objeto for menor que o objeto dado, e – um número positivo, se este objeto for maior que o objeto dado.
  • 10. Outros métodos da classe Collections • A classe Collections traz uma grande quantidade de métodos estáticos úteis na manipulação de coleções. – binarySearch(List, Object): Realiza uma busca binária por determinado elemento na lista ordenada e retorna sua posição ou um número negativo, caso não encontrado. – max(Collection): Retorna o maior elemento da coleção. – min(Collection): Retorna o menor elemento da coleção. – Reverse(List): Inverte a lista.
  • 11. Conjuntos • JAVA.UTIL.SET • Um conjunto (Set) funciona de forma análoga aos conjuntos da matemática, ele é uma coleção que não permite elementos duplicados. • A ordem em que os elementos são armazenados pode não ser a ordem na qual eles foram inseridos no conjunto • Para perceber se um item já existe em uma lista, é muito mais rápido usar algumas implementações de Set do que um List
  • 13. Conjuntos Um conjunto é representado pela interface Set e tem como suas principais implementações: • HashSet • LinkedHashSet • TreeSet.
  • 14. Conjuntos • Aqui, o segundo Diretor não será adicionado e o método add lhe retornará false.
  • 15. Mapas • Um mapa é composto por um conjunto de associações entre um objeto chave a um objeto valor. • java.util.Map é um mapa, pois é possível usá-lo para mapear uma chave a um valor • O método put(Object, Object) da interface Map recebe a chave e o valor de uma nova associação. • Para saber o que está associado a um determinado objeto-chave, passa-se esse objeto no método get(Object).
  • 16. Mapas
  • 17. Mapas
  • 18. Mapas • Um mapa é muito usado para "indexar" objetos de acordo com determinado critério, para podermos buscar esse objetos rapidamente. • Suas principais implementações são o HashMap, o TreeMap e o Hashtable.
  • 19. Mapas
  • 20. Exercícios • Desenvolva uma classe aluno com os atributos número do aluno e série. Implemente os construtores e getters e setters. • Crie uma lista aleatória de 200 alunos em uma classe Principal e os ordene por número.
  • 21. Exercícios • Gere 200 números aleatórios que devem variar de 0 a 100. Insira cada um desses números em um Set e verifique no final quantos elementos esse Set possui de fato. • Qual a conclusão podemos chegar a respeito?
  • 22. Exercícios • Desenvolva um mapa que associe uma String, denominada cargo, a um aluno (nome, número, série). • Insira e recupere os seguintes elementos do mapa: – Representante Discente,{”Jose da Silva”,2,2ºano} – Representante de Sala,{”Ana”,22,1ºano} – Aniversariante do dia,{”Leleo”,24,3ºano}