diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..919ce1f
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/out/production/collections-java-api-2023/main/java/Main.class b/out/production/collections-java-api-2023/main/java/Main.class
deleted file mode 100644
index ab956d8..0000000
Binary files a/out/production/collections-java-api-2023/main/java/Main.class and /dev/null differ
diff --git a/out/production/collections-java-api-2023/main/java/list/OperacoesBasicas/ListaTarefa1.class b/out/production/collections-java-api-2023/main/java/list/OperacoesBasicas/ListaTarefa1.class
new file mode 100644
index 0000000..77c077a
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/list/OperacoesBasicas/ListaTarefa1.class differ
diff --git a/out/production/collections-java-api-2023/main/java/list/OperacoesBasicas/Tarefa1.class b/out/production/collections-java-api-2023/main/java/list/OperacoesBasicas/Tarefa1.class
new file mode 100644
index 0000000..56cdeb5
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/list/OperacoesBasicas/Tarefa1.class differ
diff --git a/out/production/collections-java-api-2023/main/java/list/Ordenacao/ComparatorForAltura.class b/out/production/collections-java-api-2023/main/java/list/Ordenacao/ComparatorForAltura.class
new file mode 100644
index 0000000..8b1e9b7
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/list/Ordenacao/ComparatorForAltura.class differ
diff --git a/out/production/collections-java-api-2023/main/java/list/Ordenacao/OrdenacaoPessoass.class b/out/production/collections-java-api-2023/main/java/list/Ordenacao/OrdenacaoPessoass.class
new file mode 100644
index 0000000..13eae95
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/list/Ordenacao/OrdenacaoPessoass.class differ
diff --git a/out/production/collections-java-api-2023/main/java/list/Ordenacao/Pessoaa.class b/out/production/collections-java-api-2023/main/java/list/Ordenacao/Pessoaa.class
new file mode 100644
index 0000000..b1124c9
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/list/Ordenacao/Pessoaa.class differ
diff --git a/out/production/collections-java-api-2023/main/java/list/Pesquisa/CatalogoLivross.class b/out/production/collections-java-api-2023/main/java/list/Pesquisa/CatalogoLivross.class
new file mode 100644
index 0000000..a074dcb
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/list/Pesquisa/CatalogoLivross.class differ
diff --git a/out/production/collections-java-api-2023/main/java/list/Pesquisa/Livroo.class b/out/production/collections-java-api-2023/main/java/list/Pesquisa/Livroo.class
new file mode 100644
index 0000000..f9e3e02
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/list/Pesquisa/Livroo.class differ
diff --git a/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/AgendaContatos.class b/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/AgendaContatos.class
index dbc9552..91efca6 100644
Binary files a/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/AgendaContatos.class and b/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/AgendaContatos.class differ
diff --git a/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/GabaritoAgendaContatos.class b/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/GabaritoAgendaContatos.class
new file mode 100644
index 0000000..822c739
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/GabaritoAgendaContatos.class differ
diff --git a/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/Dicionario.class b/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/GabaritoDicionario.class
similarity index 75%
rename from out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/Dicionario.class
rename to out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/GabaritoDicionario.class
index a53857a..2136081 100644
Binary files a/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/Dicionario.class and b/out/production/collections-java-api-2023/main/java/map/OperacoesBasicas/GabaritoDicionario.class differ
diff --git a/out/production/collections-java-api-2023/main/java/map/Pesquisa/EstoqueProdutos.class b/out/production/collections-java-api-2023/main/java/map/Pesquisa/EstoqueProdutos.class
index 0beacf2..0f9e499 100644
Binary files a/out/production/collections-java-api-2023/main/java/map/Pesquisa/EstoqueProdutos.class and b/out/production/collections-java-api-2023/main/java/map/Pesquisa/EstoqueProdutos.class differ
diff --git a/out/production/collections-java-api-2023/main/java/map/Pesquisa/Produto.class b/out/production/collections-java-api-2023/main/java/map/Pesquisa/Produto.class
index ca39992..19d6db8 100644
Binary files a/out/production/collections-java-api-2023/main/java/map/Pesquisa/Produto.class and b/out/production/collections-java-api-2023/main/java/map/Pesquisa/Produto.class differ
diff --git a/out/production/collections-java-api-2023/main/java/map/README.md b/out/production/collections-java-api-2023/main/java/map/README.md
index ca81636..f3b2765 100644
--- a/out/production/collections-java-api-2023/main/java/map/README.md
+++ b/out/production/collections-java-api-2023/main/java/map/README.md
@@ -36,12 +36,12 @@ Exercícios:
### 1. Agenda de Contatos
-Crie uma classe chamada "AgendaContatos" que utilize um Map para armazenar os contatos. Cada contato possui um nome como chave e um número de telefone como valor. Implemente os seguintes métodos:
+Crie uma classe chamada "AgendaContatos" que utilize um Map para armazenar os contatos. Cada contato1 possui um nome como chave e um número de telefone como valor. Implemente os seguintes métodos:
-- `adicionarContato(String nome, Integer telefone)`: Adiciona um contato à agenda, associando o nome do contato ao número de telefone correspondente.
-- `removerContato(String nome)`: Remove um contato da agenda, dado o nome do contato.
-- `exibirContatos()`: Exibe todos os contatos da agenda, mostrando o nome e o número de telefone de cada contato.
-- `pesquisarPorNome(String nome)`: Pesquisa um contato pelo nome e retorna o número de telefone correspondente.
+- `adicionarContato(String nome, Integer telefone)`: Adiciona um contato1 à agenda, associando o nome do contato1 ao número de telefone correspondente.
+- `removerContato(String nome)`: Remove um contato1 da agenda, dado o nome do contato1.
+- `exibirContatos()`: Exibe todos os contatos da agenda, mostrando o nome e o número de telefone de cada contato1.
+- `pesquisarPorNome(String nome)`: Pesquisa um contato1 pelo nome e retorna o número de telefone correspondente.
### 2. Dicionário
@@ -62,14 +62,14 @@ Crie uma classe chamada "Dicionario" que utilize um Map para armazenar palavras
### 1. Estoque de Produtos com Preço
-Crie uma classe chamada "EstoqueProdutos" que utilize um Map para armazenar os produtos, suas quantidades em estoque e seus respectivos preços. Cada produto possui um código como chave e um objeto Produto como valor, contendo nome, quantidade e preço. Implemente os seguintes métodos:
+Crie uma classe chamada "EstoqueProdutos" que utilize um Map para armazenar os produtos, suas quantidades em estoque e seus respectivos preços. Cada produto1 possui um código como chave e um objeto Produto como valor, contendo nome, quantidade e preço. Implemente os seguintes métodos:
-- `adicionarProduto(long cod, String nome, int quantidade, double preco)`: Adiciona um produto ao estoque, juntamente com a quantidade disponível e o preço.
+- `adicionarProduto(long cod, String nome, int quantidade, double preco)`: Adiciona um produto1 ao estoque, juntamente com a quantidade disponível e o preço.
- `exibirProdutos()`: Exibe todos os produtos, suas quantidades em estoque e preços.
-- `calcularValorTotalEstoque()`: Calcula e retorna o valor total do estoque, considerando a quantidade e o preço de cada produto.
-- `obterProdutoMaisCaro()`: Retorna o produto mais caro do estoque, ou seja, aquele com o maior preço.
-- `obterProdutoMaisBarato()`: Retorna o produto mais barato do estoque, ou seja, aquele com o menor preço.
-- `obterProdutoMaiorQuantidadeValorTotalNoEstoque()`: Retorna o produto que está em maior quantidade no estoque, considerando o valor total de cada produto (quantidade * preço).
+- `calcularValorTotalEstoque()`: Calcula e retorna o valor total do estoque, considerando a quantidade e o preço de cada produto1.
+- `obterProdutoMaisCaro()`: Retorna o produto1 mais caro do estoque, ou seja, aquele com o maior preço.
+- `obterProdutoMaisBarato()`: Retorna o produto1 mais barato do estoque, ou seja, aquele com o menor preço.
+- `obterProdutoMaiorQuantidadeValorTotalNoEstoque()`: Retorna o produto1 que está em maior quantidade no estoque, considerando o valor total de cada produto1 (quantidade * preço).
### 2. Contagem de Palavras
diff --git a/out/production/collections-java-api-2023/main/java/set/OperacoesBasicas/ConjuntoConvidadoss.class b/out/production/collections-java-api-2023/main/java/set/OperacoesBasicas/ConjuntoConvidadoss.class
new file mode 100644
index 0000000..7f50a26
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/set/OperacoesBasicas/ConjuntoConvidadoss.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/OperacoesBasicas/Convidados.class b/out/production/collections-java-api-2023/main/java/set/OperacoesBasicas/Convidados.class
new file mode 100644
index 0000000..a568a7c
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/set/OperacoesBasicas/Convidados.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Ordenacao/CadastroProdutos.class b/out/production/collections-java-api-2023/main/java/set/Ordenacao/CadastroProdutos.class
index 83316ab..85efec4 100644
Binary files a/out/production/collections-java-api-2023/main/java/set/Ordenacao/CadastroProdutos.class and b/out/production/collections-java-api-2023/main/java/set/Ordenacao/CadastroProdutos.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Ordenacao/CadastroProdutos1.class b/out/production/collections-java-api-2023/main/java/set/Ordenacao/CadastroProdutos1.class
new file mode 100644
index 0000000..7e51917
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/set/Ordenacao/CadastroProdutos1.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Ordenacao/ComparatorPorPreco.class b/out/production/collections-java-api-2023/main/java/set/Ordenacao/ComparatorForPreco.class
similarity index 63%
rename from out/production/collections-java-api-2023/main/java/set/Ordenacao/ComparatorPorPreco.class
rename to out/production/collections-java-api-2023/main/java/set/Ordenacao/ComparatorForPreco.class
index 725341f..b912ce0 100644
Binary files a/out/production/collections-java-api-2023/main/java/set/Ordenacao/ComparatorPorPreco.class and b/out/production/collections-java-api-2023/main/java/set/Ordenacao/ComparatorForPreco.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Ordenacao/ComparatorPorPreco1.class b/out/production/collections-java-api-2023/main/java/set/Ordenacao/ComparatorPorPreco1.class
new file mode 100644
index 0000000..b768e15
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/set/Ordenacao/ComparatorPorPreco1.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Ordenacao/Produto.class b/out/production/collections-java-api-2023/main/java/set/Ordenacao/Produto.class
index 642c87b..e72b77f 100644
Binary files a/out/production/collections-java-api-2023/main/java/set/Ordenacao/Produto.class and b/out/production/collections-java-api-2023/main/java/set/Ordenacao/Produto.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Ordenacao/Produto1.class b/out/production/collections-java-api-2023/main/java/set/Ordenacao/Produto1.class
new file mode 100644
index 0000000..f166d44
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/set/Ordenacao/Produto1.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Pesquisa/AgendaContatos.class b/out/production/collections-java-api-2023/main/java/set/Pesquisa/AgendaContatos.class
index 6564a0a..4fc4431 100644
Binary files a/out/production/collections-java-api-2023/main/java/set/Pesquisa/AgendaContatos.class and b/out/production/collections-java-api-2023/main/java/set/Pesquisa/AgendaContatos.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Pesquisa/AgendaContatos1.class b/out/production/collections-java-api-2023/main/java/set/Pesquisa/AgendaContatos1.class
new file mode 100644
index 0000000..d6b866f
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/set/Pesquisa/AgendaContatos1.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Pesquisa/Contato.class b/out/production/collections-java-api-2023/main/java/set/Pesquisa/Contato.class
index de97fbe..0ce2036 100644
Binary files a/out/production/collections-java-api-2023/main/java/set/Pesquisa/Contato.class and b/out/production/collections-java-api-2023/main/java/set/Pesquisa/Contato.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/Pesquisa/Contato1.class b/out/production/collections-java-api-2023/main/java/set/Pesquisa/Contato1.class
new file mode 100644
index 0000000..8b7a1aa
Binary files /dev/null and b/out/production/collections-java-api-2023/main/java/set/Pesquisa/Contato1.class differ
diff --git a/out/production/collections-java-api-2023/main/java/set/README.md b/out/production/collections-java-api-2023/main/java/set/README.md
index a587fba..b00a784 100644
--- a/out/production/collections-java-api-2023/main/java/set/README.md
+++ b/out/production/collections-java-api-2023/main/java/set/README.md
@@ -61,12 +61,12 @@ Crie uma classe chamada "ConjuntoPalavrasUnicas" que possui um conjunto de palav
### 1. Agenda de Contatos
-Crie uma classe chamada "AgendaContatos" que possui um conjunto de objetos do tipo "Contato" como atributo. Cada contato possui atributos como nome e número de telefone. Implemente os seguintes métodos:
+Crie uma classe chamada "AgendaContatos" que possui um conjunto de objetos do tipo "Contato" como atributo. Cada contato1 possui atributos como nome e número de telefone. Implemente os seguintes métodos:
-- `adicionarContato(String nome, int numero)`: Adiciona um contato à agenda.
+- `adicionarContato(String nome, int numero)`: Adiciona um contato1 à agenda.
- `exibirContatos()`: Exibe todos os contatos da agenda.
- `pesquisarPorNome(String nome)`: Pesquisa contatos pelo nome e retorna uma conjunto com os contatos encontrados.
-- `atualizarNumeroContato(String nome, int novoNumero)`: Atualiza o número de telefone de um contato específico.
+- `atualizarNumeroContato(String nome, int novoNumero)`: Atualiza o número de telefone de um contato1 específico.
### 2. Lista de Tarefas
@@ -92,9 +92,9 @@ Crie uma classe chamada "ListaTarefas" que possui um conjunto de objetos do tipo
### 1. Cadastro de Produtos
-Crie uma classe chamada "CadastroProdutos" que possui um conjunto de objetos do tipo "Produto" como atributo. Cada produto possui atributos como nome, cod, preço e quantidade. Implemente os seguintes métodos:
+Crie uma classe chamada "CadastroProdutos" que possui um conjunto de objetos do tipo "Produto" como atributo. Cada produto1 possui atributos como nome, cod, preço e quantidade. Implemente os seguintes métodos:
-- `adicionarProduto(long cod, String nome, double preco, int quantidade)`: Adiciona um produto ao cadastro.
+- `adicionarProduto(long cod, String nome, double preco, int quantidade)`: Adiciona um produto1 ao cadastro.
- `exibirProdutosPorNome()`: Exibe todos os produtos do cadastro em ordem alfabética pelo nome.
- `exibirProdutosPorPreco()`: Exibe todos os produtos do cadastro em ordem crescente de preço.
diff --git a/src/main/java/list/OperacoesBasicas/ListaTarefa1.java b/src/main/java/list/OperacoesBasicas/ListaTarefa1.java
new file mode 100644
index 0000000..13179be
--- /dev/null
+++ b/src/main/java/list/OperacoesBasicas/ListaTarefa1.java
@@ -0,0 +1,56 @@
+package main.java.list.OperacoesBasicas;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class ListaTarefa1 {
+ //sempre que eu criar um objeto do tipo lista de tarefa
+ //eu vou ter um atributo tarefaList com um ArrayList esperando
+ private List tarefa1List;
+
+ public ListaTarefa1() {
+ this.tarefa1List = new ArrayList<>();
+ }
+ //criando método
+ //1º add tarefa
+ public void adicionarTarefa(String descricao){
+ tarefa1List.add(new Tarefa1(descricao));
+ }
+
+ //2ºremover tarefa
+ public void removerTarefa(String descricao){
+ List tarefaForRemove = new ArrayList<>();
+ for(Tarefa1 t: tarefa1List){
+ if(t.getDescricao().equalsIgnoreCase(descricao)){
+ tarefaForRemove.add(t);
+ }
+ }
+ tarefa1List.removeAll(tarefaForRemove);
+ }
+
+ //3º total de tarefas
+ public int totalTarefas(){
+ return tarefa1List.size();
+ }
+
+
+ //4º lista de descrições das tarefas
+ public void obterDescricoes(){
+ System.out.println(tarefa1List);
+ }
+
+ public static void main(String[] args) {
+ ListaTarefa1 listaTarefa1 = new ListaTarefa1();
+ System.out.println("O número total de tarefas é igual a: " + listaTarefa1.totalTarefas());
+// listaTarefa1.adicionarTarefa("Tarefa 1");
+// listaTarefa1.adicionarTarefa("Tarefa 2");
+// listaTarefa1.adicionarTarefa("Tarefa 2");
+ System.out.println("O número total de tarefas agora é igual a: " + listaTarefa1.totalTarefas());
+
+ //listaTarefa1.removerTarefa("taReFa 1");
+ System.out.println("O número total de tarefas agora é igual a: " + listaTarefa1.totalTarefas());
+
+ listaTarefa1.obterDescricoes();
+ }
+}
diff --git a/src/main/java/list/OperacoesBasicas/Tarefa1.java b/src/main/java/list/OperacoesBasicas/Tarefa1.java
new file mode 100644
index 0000000..9e574c7
--- /dev/null
+++ b/src/main/java/list/OperacoesBasicas/Tarefa1.java
@@ -0,0 +1,20 @@
+package main.java.list.OperacoesBasicas;
+
+public class Tarefa1 {
+ //atributo
+ private String descricao;
+
+ public Tarefa1(String descricao) {
+ this.descricao = descricao;
+ }
+
+ public String getDescricao(){
+ return descricao;
+ }
+
+ //este método toString(), cria um template para impressão de métodos que us
+ @Override
+ public String toString() {
+ return descricao;
+ }
+}
diff --git a/src/main/java/list/Ordenacao/OrdenacaoPessoass.java b/src/main/java/list/Ordenacao/OrdenacaoPessoass.java
new file mode 100644
index 0000000..21f87b5
--- /dev/null
+++ b/src/main/java/list/Ordenacao/OrdenacaoPessoass.java
@@ -0,0 +1,45 @@
+package main.java.list.Ordenacao;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+public class OrdenacaoPessoass {
+ //atributo
+ private List pessoaList;
+
+ public OrdenacaoPessoass() {
+ this.pessoaList = new ArrayList<>();
+ }
+
+ public void adicionarPessoas(String nome, int idade, double altura){
+ pessoaList.add(new Pessoaa(nome, idade, altura));
+ }
+
+ public List ordenarPorIdade(){
+ List pessoaPorIdade = new ArrayList<>(pessoaList);
+ Collections.sort(pessoaPorIdade);
+ return pessoaPorIdade;
+ }
+
+ public List ordenarPorAltura(){
+ List pessoaPorAltura = new ArrayList<>(pessoaList);
+ Collections.sort(pessoaPorAltura, new ComparatorForAltura());
+ return pessoaPorAltura;
+ }
+
+ public static void main(String[] args) {
+ OrdenacaoPessoass ordenacaopessoass = new OrdenacaoPessoass();
+
+ ordenacaopessoass.adicionarPessoas("Matheus Marcos", 25, 1.80);
+ ordenacaopessoass.adicionarPessoas("Joziara Alves", 24, 1.65);
+ ordenacaopessoass.adicionarPessoas("Mayza Isle", 19, 1.55);
+ ordenacaopessoass.adicionarPessoas("Rony Silva", 20, 1.75);
+ ordenacaopessoass.adicionarPessoas("Maria Telma", 51, 1.50);
+
+ System.out.println(ordenacaopessoass.ordenarPorIdade());
+ System.out.println(ordenacaopessoass.ordenarPorAltura());
+
+ }
+
+}
diff --git a/src/main/java/list/Ordenacao/Pessoaa.java b/src/main/java/list/Ordenacao/Pessoaa.java
new file mode 100644
index 0000000..a0ba726
--- /dev/null
+++ b/src/main/java/list/Ordenacao/Pessoaa.java
@@ -0,0 +1,50 @@
+package main.java.list.Ordenacao;
+
+import java.util.Comparator;
+
+public class Pessoaa implements Comparable{
+
+ //por padrão o compareTo usa um "o" após o objeto, mas como estamos nos referindo à Pessoaa, coloquei um p #didática
+ @Override
+ public int compareTo(Pessoaa p) {
+ return Integer.compare(idade, p.getIdade());
+ }
+
+ private String nome;
+ private int idade;
+ private double altura;
+
+ public Pessoaa(String nome, int idade, double altura) {
+ this.nome = nome;
+ this.idade = idade;
+ this.altura = altura;
+ }
+
+ public String getNome() {
+ return nome;
+ }
+
+ public int getIdade() {
+ return idade;
+ }
+
+ public double getAltura() {
+ return altura;
+ }
+
+ @Override
+ public String toString() {
+ return "Nome = " + nome + '\'' +
+ ", idade = " + idade +
+ ", altura = " + altura;
+ }
+
+}
+
+class ComparatorForAltura implements Comparator{
+
+ @Override
+ public int compare(Pessoaa p1, Pessoaa p2) {
+ return Double.compare(p1.getAltura(), p2.getAltura());
+ }
+}
diff --git a/src/main/java/list/Pesquisa/CatalogoLivross.java b/src/main/java/list/Pesquisa/CatalogoLivross.java
new file mode 100644
index 0000000..a035a24
--- /dev/null
+++ b/src/main/java/list/Pesquisa/CatalogoLivross.java
@@ -0,0 +1,78 @@
+package main.java.list.Pesquisa;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CatalogoLivross {
+ //atributo array
+ private List livroList;
+
+ //construtor
+ public CatalogoLivross() {
+ this.livroList = new ArrayList<>();
+ }
+ //metodo para adicionar livros ao catalogo
+ public void adicionarLivro(String titulo,
+ String autor,
+ int anoPublicacao){
+ livroList.add(new Livroo(titulo, autor,
+ anoPublicacao));
+ }
+
+ //metodo para pesquisar livro por autor
+ public List pesquisaPorAutor(String autor){
+ List livrosPorAutor =
+ new ArrayList<>();
+ if(!livroList.isEmpty()) {
+ for (Livroo l : livroList) {
+ if (l.getAutor().equalsIgnoreCase(autor)) {
+ livrosPorAutor.add(l);
+ }
+ }
+ }
+ return livrosPorAutor;
+ }
+ //metodo para pesquisar livro por intervalo
+ // de ano de publicação
+ public List pesquisaPorIntervaloAnos (int anoInicio, int anoFim){
+ List livrosPorIntervaloAnos = new ArrayList<>();
+ if(!livroList.isEmpty()){
+ for(Livroo l: livroList){
+ if(l.getAnoPublicacao() >= anoInicio && l.getAnoPublicacao() <= anoFim){
+ livrosPorIntervaloAnos.add(l);
+ }
+ }
+ }
+ return livrosPorIntervaloAnos;
+ }
+ //metodo para pesquisar e retornar o
+ // primeiro livro encontrado por titulo
+ public Livroo pesquisaPorTitulo(String titulo){
+ Livroo livrosPorTitulo = null;
+ if (!livroList.isEmpty()){
+ for(Livroo l: livroList){
+ if(l.getTitulo().equalsIgnoreCase(titulo)){
+ livrosPorTitulo = l;
+ break;
+ }
+ }
+ }
+ return livrosPorTitulo;
+ }
+
+ //metodo main, onde a mágica acontece
+ public static void main(String[] args) {
+ CatalogoLivross catalogoLivross =
+ new CatalogoLivross();
+
+ catalogoLivross.adicionarLivro("Livro 1", "Autor 1", 2020);
+ catalogoLivross.adicionarLivro("Livro 1", "Autor 2", 2021);
+ catalogoLivross.adicionarLivro("Livro 2", "Autor 2", 2022);
+ catalogoLivross.adicionarLivro("Livro 3", "Autor 3", 2023);
+ catalogoLivross.adicionarLivro("Livro 4", "Autor 4", 1994);
+
+ System.out.println(catalogoLivross.pesquisaPorAutor("Autor 1"));
+ System.out.println(catalogoLivross.pesquisaPorIntervaloAnos(2001, 2022));
+ System.out.println(catalogoLivross.pesquisaPorTitulo("Livro 2"));
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/list/Pesquisa/Livroo.java b/src/main/java/list/Pesquisa/Livroo.java
new file mode 100644
index 0000000..de33765
--- /dev/null
+++ b/src/main/java/list/Pesquisa/Livroo.java
@@ -0,0 +1,35 @@
+package main.java.list.Pesquisa;
+
+public class Livroo {
+ //atributos
+ private String titulo;
+ private String autor;
+ private int anoPublicacao;
+
+ public Livroo(String titulo, String autor, int anoPublicacao) {
+ this.titulo = titulo;
+ this.autor = autor;
+ this.anoPublicacao = anoPublicacao;
+ }
+
+ public String getTitulo() {
+ return titulo;
+ }
+
+ public String getAutor() {
+ return autor;
+ }
+
+ public int getAnoPublicacao() {
+ return anoPublicacao;
+ }
+
+ @Override
+ public String toString() {
+ return "Livroo{" +
+ "titulo='" + titulo + '\'' +
+ ", autor='" + autor + '\'' +
+ ", anoPublicacao=" + anoPublicacao +
+ '}';
+ }
+}
diff --git a/src/main/java/map/OperacoesBasicas/AgendaContatos.java b/src/main/java/map/OperacoesBasicas/AgendaContatos.java
index a854e35..a5a8af6 100644
--- a/src/main/java/map/OperacoesBasicas/AgendaContatos.java
+++ b/src/main/java/map/OperacoesBasicas/AgendaContatos.java
@@ -4,70 +4,70 @@
import java.util.Map;
public class AgendaContatos {
- //atributo
- private Map agendaContatoMap;
+ //atributo
+ private Map agendaContatosMap;
- public AgendaContatos() {
- this.agendaContatoMap = new HashMap<>();
- }
+ //construtor
+ public AgendaContatos() {
+ this.agendaContatosMap = new HashMap<>();
+ }
- public void adicionarContato(String nome, Integer telefone) {
- agendaContatoMap.put(nome, telefone);
- }
+ //método adicionarContato
+ //o método put() serve tanto para adicionar quanto para atualizar
+ // um elemento, no caso o último objeto passado com
+ //determinada chave é quam irá persistir
+ public void adicionarContato(String nome, Integer contato){
+ agendaContatosMap.put(nome, contato);
+ }
- public void removerContato(String nome) {
- if (!agendaContatoMap.isEmpty()) {
- agendaContatoMap.remove(nome);
- } else {
- System.out.println("A agenda de contatos está vazia.");
- }
- }
+ // método removerContato
+ public void removerContato(String nome){
+ if(!agendaContatosMap.isEmpty()){
+ agendaContatosMap.remove(nome);
+ }
+ }
- public void exibirContatos() {
- if (!agendaContatoMap.isEmpty()) {
- System.out.println(agendaContatoMap);
- } else {
- System.out.println("A agenda de contatos está vazia.");
- }
- }
+ // método exibirContato
+ public void exibirContato() {
+ if(!agendaContatosMap.isEmpty()) {
+ System.out.println(agendaContatosMap);
+ }
+ }
- public Integer pesquisarPorNome(String nome) {
- Integer numeroPorNome = null;
- if (!agendaContatoMap.isEmpty()) {
- numeroPorNome = agendaContatoMap.get(nome);
- if (numeroPorNome == null) {
- System.out.println("Contato não encontrado na agenda.");
- }
- } else {
- System.out.println("A agenda de contatos está vazia.");
- }
- return numeroPorNome;
- }
+ // método PesquisarPorNome
+ public Integer pesquisaPorNome(String nome){
+ Integer contatoPorNome = null;
+ if (!agendaContatosMap.isEmpty()){
+ contatoPorNome = agendaContatosMap.get(nome);
+ }
+ return contatoPorNome;
+ }
- public static void main(String[] args) {
- AgendaContatos agendaContatos = new AgendaContatos();
+ public static void main(String[] args) {
+ GabaritoAgendaContatos gabaritoAgendaContatos = new GabaritoAgendaContatos();
- // Adicionar contatos
- agendaContatos.adicionarContato("Camila", 123456);
- agendaContatos.adicionarContato("João", 5665);
- agendaContatos.adicionarContato("Carlos", 1111111);
- agendaContatos.adicionarContato("Ana", 654987);
- agendaContatos.adicionarContato("Maria", 1111111);
- agendaContatos.adicionarContato("Camila", 44444);
+ // Adicionar contatos
+ gabaritoAgendaContatos.adicionarContato("Camila", 123456);
+ gabaritoAgendaContatos.adicionarContato("João", 5665);
+ gabaritoAgendaContatos.adicionarContato("Carlos", 1111111);
+ gabaritoAgendaContatos.adicionarContato("Ana", 654987);
+ gabaritoAgendaContatos.adicionarContato("Maria", 1111111);
+ gabaritoAgendaContatos.adicionarContato("Camila", 44444);
- agendaContatos.exibirContatos();
+ gabaritoAgendaContatos.exibirContatos();
- // Remover um contato
- agendaContatos.removerContato("Maria");
- agendaContatos.exibirContatos();
+ // Remover um contato
+ gabaritoAgendaContatos.removerContato("Maria");
+ gabaritoAgendaContatos.exibirContatos();
- // Pesquisar número por nome
- String nomePesquisa = "João";
- Integer numeroPesquisa = agendaContatos.pesquisarPorNome("João");
- System.out.println("Número de telefone de " + nomePesquisa + ": " + numeroPesquisa);
+ // Pesquisar número por nome
+ String nomePesquisa = "João";
+ Integer numeroPesquisa = gabaritoAgendaContatos.pesquisarPorNome(nomePesquisa);
+ System.out.println("Número de telefone de " + nomePesquisa + ": " + numeroPesquisa);
- String nomePesquisaNaoExistente = "Paula";
- Integer numeroPesquisaNaoExistente = agendaContatos.pesquisarPorNome(nomePesquisaNaoExistente);
- System.out.println("Número de telefone de " + nomePesquisaNaoExistente + ": " + numeroPesquisaNaoExistente);
- }
-}
\ No newline at end of file
+ String nomePesquisaNaoExistente = "Paula";
+ Integer numeroPesquisaNaoExistente = gabaritoAgendaContatos.pesquisarPorNome(nomePesquisaNaoExistente);
+ System.out.println("Número de telefone de " + nomePesquisaNaoExistente + ": " + numeroPesquisaNaoExistente);
+ }
+
+}
diff --git a/src/main/java/map/OperacoesBasicas/GabaritoAgendaContatos.java b/src/main/java/map/OperacoesBasicas/GabaritoAgendaContatos.java
new file mode 100644
index 0000000..ea4862a
--- /dev/null
+++ b/src/main/java/map/OperacoesBasicas/GabaritoAgendaContatos.java
@@ -0,0 +1,74 @@
+package main.java.map.OperacoesBasicas;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class GabaritoAgendaContatos {
+ //atributo
+ private Map agendaContatoMap;
+
+ public GabaritoAgendaContatos() {
+ this.agendaContatoMap = new HashMap<>();
+ }
+
+ public void adicionarContato(String nome, Integer telefone) {
+ agendaContatoMap.put(nome, telefone);
+ }
+
+ public void removerContato(String nome) {
+ if (!agendaContatoMap.isEmpty()) {
+ agendaContatoMap.remove(nome);
+ } else {
+ System.out.println("A agenda de contatos está vazia.");
+ }
+ }
+
+ public void exibirContatos() {
+ if (!agendaContatoMap.isEmpty()) {
+ System.out.println(agendaContatoMap);
+ } else {
+ System.out.println("A agenda de contatos está vazia.");
+ }
+ }
+
+ public Integer pesquisarPorNome(String nome) {
+ Integer numeroPorNome = null;
+ if (!agendaContatoMap.isEmpty()) {
+ numeroPorNome = agendaContatoMap.get(nome);
+ if (numeroPorNome == null) {
+ System.out.println("Contato1 não encontrado na agenda.");
+ }
+ } else {
+ System.out.println("A agenda de contatos está vazia.");
+ }
+ return numeroPorNome;
+ }
+
+ public static void main(String[] args) {
+ GabaritoAgendaContatos gabaritoAgendaContatos = new GabaritoAgendaContatos();
+
+ // Adicionar contatos
+ gabaritoAgendaContatos.adicionarContato("Camila", 123456);
+ gabaritoAgendaContatos.adicionarContato("João", 5665);
+ gabaritoAgendaContatos.adicionarContato("Carlos", 1111111);
+ gabaritoAgendaContatos.adicionarContato("Ana", 654987);
+ gabaritoAgendaContatos.adicionarContato("Maria", 1111111);
+ gabaritoAgendaContatos.adicionarContato("Camila", 44444);
+
+ gabaritoAgendaContatos.exibirContatos();
+
+ // Remover um contato
+ gabaritoAgendaContatos.removerContato("Maria");
+ gabaritoAgendaContatos.exibirContatos();
+
+ // Pesquisar número por nome
+ String nomePesquisa = "João";
+ Integer numeroPesquisa = gabaritoAgendaContatos.pesquisarPorNome("João");
+ System.out.println("Número de telefone de " + nomePesquisa + ": " + numeroPesquisa);
+
+ String nomePesquisaNaoExistente = "Paula";
+ Integer numeroPesquisaNaoExistente = gabaritoAgendaContatos.pesquisarPorNome(nomePesquisaNaoExistente);
+ System.out.println("Número de telefone de " + nomePesquisaNaoExistente + ": " + numeroPesquisaNaoExistente);
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/map/OperacoesBasicas/Dicionario.java b/src/main/java/map/OperacoesBasicas/GabaritoDicionario.java
similarity index 61%
rename from src/main/java/map/OperacoesBasicas/Dicionario.java
rename to src/main/java/map/OperacoesBasicas/GabaritoDicionario.java
index 5780cad..d35c407 100644
--- a/src/main/java/map/OperacoesBasicas/Dicionario.java
+++ b/src/main/java/map/OperacoesBasicas/GabaritoDicionario.java
@@ -3,10 +3,10 @@
import java.util.HashMap;
import java.util.Map;
-public class Dicionario {
+public class GabaritoDicionario {
private Map dicionario;
- public Dicionario() {
+ public GabaritoDicionario() {
this.dicionario = new HashMap<>();
}
@@ -39,25 +39,25 @@ public void exibirPalavras() {
}
public static void main(String[] args) {
- Dicionario dicionario = new Dicionario();
+ GabaritoDicionario gabaritoDicionario = new GabaritoDicionario();
// Adicionar palavras (linguagens de programação)
- dicionario.adicionarPalavra("java", "Linguagem de programação orientada a objetos.");
- dicionario.adicionarPalavra("typescript", "Superset da linguagem JavaScript que adiciona tipagem estática.");
- dicionario.adicionarPalavra("kotlin", "Linguagem moderna de programação para a JVM.");
+ gabaritoDicionario.adicionarPalavra("java", "Linguagem de programação orientada a objetos.");
+ gabaritoDicionario.adicionarPalavra("typescript", "Superset da linguagem JavaScript que adiciona tipagem estática.");
+ gabaritoDicionario.adicionarPalavra("kotlin", "Linguagem moderna de programação para a JVM.");
// Exibir todas as palavras
- dicionario.exibirPalavras();
+ gabaritoDicionario.exibirPalavras();
// Pesquisar palavras
- String definicaoJava = dicionario.pesquisarPorPalavra("java");
+ String definicaoJava = gabaritoDicionario.pesquisarPorPalavra("java");
System.out.println("Definição da linguagem 'java': " + definicaoJava);
- String definicaoCSharp = dicionario.pesquisarPorPalavra("csharp");
+ String definicaoCSharp = gabaritoDicionario.pesquisarPorPalavra("csharp");
System.out.println(definicaoCSharp);
// Remover uma palavra
- dicionario.removerPalavra("typescript");
- dicionario.exibirPalavras();
+ gabaritoDicionario.removerPalavra("typescript");
+ gabaritoDicionario.exibirPalavras();
}
}
\ No newline at end of file
diff --git a/src/main/java/map/Pesquisa/EstoqueProdutos.java b/src/main/java/map/Pesquisa/EstoqueProdutos.java
index b8561d4..add9bef 100644
--- a/src/main/java/map/Pesquisa/EstoqueProdutos.java
+++ b/src/main/java/map/Pesquisa/EstoqueProdutos.java
@@ -87,14 +87,14 @@ public static void main(String[] args) {
// Obtém e exibe o produto mais caro
Produto produtoMaisCaro = estoque.obterProdutoMaisCaro();
- System.out.println("Produto mais caro: " + produtoMaisCaro);
+ System.out.println("Produto1 mais caro: " + produtoMaisCaro);
// Obtém e exibe o produto mais barato
Produto produtoMaisBarato = estoque.obterProdutoMaisBarato();
- System.out.println("Produto mais barato: " + produtoMaisBarato);
+ System.out.println("Produto1 mais barato: " + produtoMaisBarato);
// Obtém e exibe o produto com a maior quantidade em valor no estoque
Produto produtoMaiorQuantidadeValorTotal = estoque.obterProdutoMaiorQuantidadeValorTotalNoEstoque();
- System.out.println("Produto com maior quantidade em valor no estoque: " + produtoMaiorQuantidadeValorTotal);
+ System.out.println("Produto1 com maior quantidade em valor no estoque: " + produtoMaiorQuantidadeValorTotal);
}
}
diff --git a/src/main/java/map/Pesquisa/Produto.java b/src/main/java/map/Pesquisa/Produto.java
index ebc2031..f0b1a78 100644
--- a/src/main/java/map/Pesquisa/Produto.java
+++ b/src/main/java/map/Pesquisa/Produto.java
@@ -26,7 +26,7 @@ public int getQuantidade() {
@Override
public String toString() {
- return "Produto{" +
+ return "Produto1{" +
"nome='" + nome + '\'' +
", preco=" + preco +
", quantidade=" + quantidade +
diff --git a/src/main/java/map/README.md b/src/main/java/map/README.md
index ca81636..f3b2765 100644
--- a/src/main/java/map/README.md
+++ b/src/main/java/map/README.md
@@ -36,12 +36,12 @@ Exercícios:
### 1. Agenda de Contatos
-Crie uma classe chamada "AgendaContatos" que utilize um Map para armazenar os contatos. Cada contato possui um nome como chave e um número de telefone como valor. Implemente os seguintes métodos:
+Crie uma classe chamada "AgendaContatos" que utilize um Map para armazenar os contatos. Cada contato1 possui um nome como chave e um número de telefone como valor. Implemente os seguintes métodos:
-- `adicionarContato(String nome, Integer telefone)`: Adiciona um contato à agenda, associando o nome do contato ao número de telefone correspondente.
-- `removerContato(String nome)`: Remove um contato da agenda, dado o nome do contato.
-- `exibirContatos()`: Exibe todos os contatos da agenda, mostrando o nome e o número de telefone de cada contato.
-- `pesquisarPorNome(String nome)`: Pesquisa um contato pelo nome e retorna o número de telefone correspondente.
+- `adicionarContato(String nome, Integer telefone)`: Adiciona um contato1 à agenda, associando o nome do contato1 ao número de telefone correspondente.
+- `removerContato(String nome)`: Remove um contato1 da agenda, dado o nome do contato1.
+- `exibirContatos()`: Exibe todos os contatos da agenda, mostrando o nome e o número de telefone de cada contato1.
+- `pesquisarPorNome(String nome)`: Pesquisa um contato1 pelo nome e retorna o número de telefone correspondente.
### 2. Dicionário
@@ -62,14 +62,14 @@ Crie uma classe chamada "Dicionario" que utilize um Map para armazenar palavras
### 1. Estoque de Produtos com Preço
-Crie uma classe chamada "EstoqueProdutos" que utilize um Map para armazenar os produtos, suas quantidades em estoque e seus respectivos preços. Cada produto possui um código como chave e um objeto Produto como valor, contendo nome, quantidade e preço. Implemente os seguintes métodos:
+Crie uma classe chamada "EstoqueProdutos" que utilize um Map para armazenar os produtos, suas quantidades em estoque e seus respectivos preços. Cada produto1 possui um código como chave e um objeto Produto como valor, contendo nome, quantidade e preço. Implemente os seguintes métodos:
-- `adicionarProduto(long cod, String nome, int quantidade, double preco)`: Adiciona um produto ao estoque, juntamente com a quantidade disponível e o preço.
+- `adicionarProduto(long cod, String nome, int quantidade, double preco)`: Adiciona um produto1 ao estoque, juntamente com a quantidade disponível e o preço.
- `exibirProdutos()`: Exibe todos os produtos, suas quantidades em estoque e preços.
-- `calcularValorTotalEstoque()`: Calcula e retorna o valor total do estoque, considerando a quantidade e o preço de cada produto.
-- `obterProdutoMaisCaro()`: Retorna o produto mais caro do estoque, ou seja, aquele com o maior preço.
-- `obterProdutoMaisBarato()`: Retorna o produto mais barato do estoque, ou seja, aquele com o menor preço.
-- `obterProdutoMaiorQuantidadeValorTotalNoEstoque()`: Retorna o produto que está em maior quantidade no estoque, considerando o valor total de cada produto (quantidade * preço).
+- `calcularValorTotalEstoque()`: Calcula e retorna o valor total do estoque, considerando a quantidade e o preço de cada produto1.
+- `obterProdutoMaisCaro()`: Retorna o produto1 mais caro do estoque, ou seja, aquele com o maior preço.
+- `obterProdutoMaisBarato()`: Retorna o produto1 mais barato do estoque, ou seja, aquele com o menor preço.
+- `obterProdutoMaiorQuantidadeValorTotalNoEstoque()`: Retorna o produto1 que está em maior quantidade no estoque, considerando o valor total de cada produto1 (quantidade * preço).
### 2. Contagem de Palavras
diff --git a/src/main/java/set/OperacoesBasicas/ConjuntoConvidadoss.java b/src/main/java/set/OperacoesBasicas/ConjuntoConvidadoss.java
new file mode 100644
index 0000000..56f4231
--- /dev/null
+++ b/src/main/java/set/OperacoesBasicas/ConjuntoConvidadoss.java
@@ -0,0 +1,53 @@
+package main.java.set.OperacoesBasicas;
+
+import java.util.HashSet;
+import java.util.Set;
+
+public class ConjuntoConvidadoss {
+ private Set convidadosSet;
+
+ public ConjuntoConvidadoss() {
+ this.convidadosSet = new HashSet<>();
+ }
+
+ public void adicionarConvidados(String nome, int codeConvit){
+ convidadosSet.add(new Convidados(nome, codeConvit));
+ }
+
+ public void removerConvidados(int codeConvit){
+ Convidados convidadosParaRemover = null;
+ for(Convidados c: convidadosSet){
+ if(c.getCodeConvit() == codeConvit){
+ convidadosParaRemover = c;
+ break;
+ }
+ }
+ convidadosSet.remove(convidadosParaRemover);
+ }
+
+ public int contarConvidados(){
+ return convidadosSet.size();
+ }
+
+ public void exibirConvidados(){
+ System.out.println(convidadosSet);
+ }
+
+ public static void main(String[] args) {
+ ConjuntoConvidadoss conjuntoConvidados = new ConjuntoConvidadoss();
+
+ System.out.println("Existem " + conjuntoConvidados.contarConvidados() + " convidados para a sua festa!");
+ conjuntoConvidados.adicionarConvidados("Matheus Marcos", 1998);
+ conjuntoConvidados.adicionarConvidados("Joziara Alves", 1999);
+ conjuntoConvidados.adicionarConvidados("Mayza Isle", 2004);
+ conjuntoConvidados.adicionarConvidados("Rony Silva", 2004);
+ conjuntoConvidados.adicionarConvidados("Maria Telma", 1971);
+ conjuntoConvidados.adicionarConvidados("Samuel Alves", 2016);
+ conjuntoConvidados.exibirConvidados();
+// System.out.println("Agora existem " + conjuntoConvidados.contarConvidados() + " convidados para a sua festa!");
+// conjuntoConvidados.removerConvidados(2004);
+// conjuntoConvidados.removerConvidados(2003);
+// System.out.println("Agora existem " + conjuntoConvidados.contarConvidados() + " convidados para a sua festa!");
+// conjuntoConvidados.exibirConvidados();
+ }
+}
diff --git a/src/main/java/set/OperacoesBasicas/Convidados.java b/src/main/java/set/OperacoesBasicas/Convidados.java
new file mode 100644
index 0000000..860852b
--- /dev/null
+++ b/src/main/java/set/OperacoesBasicas/Convidados.java
@@ -0,0 +1,44 @@
+package main.java.set.OperacoesBasicas;
+
+import java.util.Objects;
+
+public class Convidados {
+ private String nome;
+ private int codeConvit;
+
+ public Convidados(String nome, int codeConvit) {
+ this.nome = nome;
+ this.codeConvit = codeConvit;
+ }
+
+ public String getNome() {
+ return nome;
+ }
+
+ public int getCodeConvit() {
+ return codeConvit;
+ }
+
+ //este método ira comparar os codeConvites para avaliar se algum conflita
+ //haja vista que essa será a Primary Key deste Objeto
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof Convidados that))
+ return false;
+ return getCodeConvit() == that.getCodeConvit();
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(getCodeConvit());
+ }
+
+ @Override
+ public String toString() {
+ return "Convidados{" +
+ "nome='" + nome + '\'' +
+ ", codeConvit=" + codeConvit +
+ '}';
+ }
+}
diff --git a/src/main/java/set/Ordenacao/CadastroProdutos.java b/src/main/java/set/Ordenacao/CadastroProdutos.java
index 4dbcf9e..b7e9267 100644
--- a/src/main/java/set/Ordenacao/CadastroProdutos.java
+++ b/src/main/java/set/Ordenacao/CadastroProdutos.java
@@ -5,53 +5,26 @@
import java.util.TreeSet;
public class CadastroProdutos {
- //atributo
- private Set produtoSet;
-
- public CadastroProdutos() {
- this.produtoSet = new HashSet<>();
- }
-
- public void adicionarProduto(long cod, String nome, double preco, int quantidade) {
- produtoSet.add(new Produto(cod, nome, preco, quantidade));
- }
-
- public Set exibirProdutosPorNome() {
- Set produtosPorNome = new TreeSet<>(produtoSet);
- if (!produtoSet.isEmpty()) {
- return produtosPorNome;
- } else {
- throw new RuntimeException("O conjunto está vazio!");
- }
- }
-
- public Set exibirProdutosPorPreco() {
- Set produtosPorPreco = new TreeSet<>(new ComparatorPorPreco());
- if (!produtoSet.isEmpty()) {
- produtosPorPreco.addAll(produtoSet);
- return produtosPorPreco;
- } else {
- throw new RuntimeException("O conjunto está vazio!");
- }
- }
-
- public static void main(String[] args) {
- // Criando uma instância do CadastroProdutos
- CadastroProdutos cadastroProdutos = new CadastroProdutos();
-
- // Adicionando produtos ao cadastro
- cadastroProdutos.adicionarProduto(1L, "Smartphone", 1000d, 10);
- cadastroProdutos.adicionarProduto(2L, "Notebook", 1500d, 5);
- cadastroProdutos.adicionarProduto(1L, "Mouse", 30d, 20);
- cadastroProdutos.adicionarProduto(4L, "Teclado", 50d, 15);
-
- // Exibindo todos os produtos no cadastro
- System.out.println(cadastroProdutos.produtoSet);
-
- // Exibindo produtos ordenados por nome
- System.out.println(cadastroProdutos.exibirProdutosPorNome());
-
- // Exibindo produtos ordenados por preço
- System.out.println(cadastroProdutos.exibirProdutosPorPreco());
- }
+ private Set produtosSet;
+
+ public CadastroProdutos() {
+ this.produtosSet = new HashSet<>();
+ }
+
+ public void adicionarProduto(long cod, String nome, double preco, int quantidade) {
+ produtosSet.add(new Produto(cod, nome, preco, quantidade));
+ }
+
+ //Como meu set está ordenado por nome, graças ao CompareTo()
+ //Uso o TreeSet que aceita o Set Ordenado produtosSet
+ public Set exibirProdutosPorNome(){
+ Set produtosPorNome = new TreeSet<>(produtosSet);
+ return produtosPorNome;
+ }
+
+ public Set exibirProdutosPorPreco(){
+ Set produtosPorPreco = new TreeSet<>(new ComparatorForPreco());
+ produtosPorPreco.addAll(produtosSet);
+ return produtosPorPreco;
+ }
}
diff --git a/src/main/java/set/Ordenacao/CadastroProdutos1.java b/src/main/java/set/Ordenacao/CadastroProdutos1.java
new file mode 100644
index 0000000..1c3ba61
--- /dev/null
+++ b/src/main/java/set/Ordenacao/CadastroProdutos1.java
@@ -0,0 +1,57 @@
+package main.java.set.Ordenacao;
+
+import java.util.HashSet;
+import java.util.Set;
+import java.util.TreeSet;
+
+public class CadastroProdutos1 {
+ //atributo
+ private Set produto1Set;
+
+ public CadastroProdutos1() {
+ this.produto1Set = new HashSet<>();
+ }
+
+ public void adicionarProduto(long cod, String nome, double preco, int quantidade) {
+ produto1Set.add(new Produto1(cod, nome, preco, quantidade));
+ }
+
+ public Set exibirProdutosPorNome() {
+ Set produtosPorNome = new TreeSet<>(produto1Set);
+ if (!produto1Set.isEmpty()) {
+ return produtosPorNome;
+ } else {
+ throw new RuntimeException("O conjunto está vazio!");
+ }
+ }
+
+ public Set exibirProdutosPorPreco() {
+ Set produtosPorPreco = new TreeSet<>(new ComparatorPorPreco1());
+ if (!produto1Set.isEmpty()) {
+ produtosPorPreco.addAll(produto1Set);
+ return produtosPorPreco;
+ } else {
+ throw new RuntimeException("O conjunto está vazio!");
+ }
+ }
+
+ public static void main(String[] args) {
+ // Criando uma instância do CadastroProdutos1
+ CadastroProdutos1 cadastroProdutos1 = new CadastroProdutos1();
+
+ // Adicionando produtos ao cadastro
+ cadastroProdutos1.adicionarProduto(1L, "Smartphone", 1000d, 10);
+ cadastroProdutos1.adicionarProduto(2L, "Notebook", 1500d, 5);
+ cadastroProdutos1.adicionarProduto(1L, "Mouse", 30d, 20);
+ cadastroProdutos1.adicionarProduto(4L, "Teclado", 50d, 15);
+
+ // Exibindo todos os produtos no cadastro
+ System.out.println(cadastroProdutos1.produto1Set);
+
+ // Exibindo produtos ordenados por nome
+ System.out.println(cadastroProdutos1.exibirProdutosPorNome());
+
+ // Exibindo produtos ordenados por preço
+ System.out.println(cadastroProdutos1.exibirProdutosPorPreco());
+ }
+}
diff --git a/src/main/java/set/Ordenacao/Produto.java b/src/main/java/set/Ordenacao/Produto.java
index d48d34c..cd3cdb6 100644
--- a/src/main/java/set/Ordenacao/Produto.java
+++ b/src/main/java/set/Ordenacao/Produto.java
@@ -1,77 +1,59 @@
package main.java.set.Ordenacao;
import java.util.Comparator;
-import java.util.Objects;
-public class Produto implements Comparable {
- //atributos
- private long codigo;
- private String nome;
- private double preco;
- private int quantidade;
-
- public Produto(long codigo, String nome, double preco, int quantidade) {
- this.codigo = codigo;
- this.nome = nome;
- this.preco = preco;
- this.quantidade = quantidade;
- }
-
- @Override
- public int compareTo(Produto p) {
- return nome.compareToIgnoreCase(p.getNome());
- }
-
- public long getCodigo() {
- return codigo;
- }
-
- public String getNome() {
- return nome;
- }
-
- public double getPreco() {
- return preco;
- }
-
- public int getQuantidade() {
- return quantidade;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof Produto produto)) return false;
- return getCodigo() == produto.getCodigo();
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(getCodigo());
- }
-
- @Override
- public String toString() {
- return "Produto{" +
- "codigo=" + codigo +
- ", nome='" + nome + '\'' +
- ", preco=" + preco +
- ", quantidade=" + quantidade +
- '}';
- }
+public class Produto implements Comparable{
+ private long cod;
+ private String nome;
+ private double preco;
+ private int quantidade;
+
+ public Produto(long cod, String nome, double preco, int quantidade) {
+ this.cod = cod;
+ this.nome = nome;
+ this.preco = preco;
+ this.quantidade = quantidade;
+ }
+
+ //com o simples fato de adicionarmos este compareTo()
+ //o código já entende que o Set deve ser comparado pelo nome
+ @Override
+ public int compareTo(Produto p) {
+ return nome.compareToIgnoreCase(p.getNome());
+ }
+
+ public void setPreco(double preco){
+ this.preco = preco;
+ }
+
+ public void setQuantidade(int quantidade){
+ this.quantidade = quantidade;
+ }
+
+ public long getCod() {
+ return cod;
+ }
+
+ public String getNome() {
+ return nome;
+ }
+
+ public double getPreco() {
+ return preco;
+ }
+
+ public int getQuantidade() {
+ return quantidade;
+ }
+
+ public String toString(){
+ return cod + " - " + nome + " - " + preco + " - " + quantidade;
+ }
}
-class ComparatorPorPreco implements Comparator {
- @Override
- public int compare(Produto p1, Produto p2) {
- return Double.compare(p1.getPreco(), p2.getPreco());
- }
+class ComparatorForPreco implements Comparator{
+ @Override
+ public int compare(Produto p1, Produto p2) {
+ return Double.compare(p1.getPreco(), p2.getPreco());
+ }
}
-
-
-
-
-
-
-
-
diff --git a/src/main/java/set/Ordenacao/Produto1.java b/src/main/java/set/Ordenacao/Produto1.java
new file mode 100644
index 0000000..3114fba
--- /dev/null
+++ b/src/main/java/set/Ordenacao/Produto1.java
@@ -0,0 +1,77 @@
+package main.java.set.Ordenacao;
+
+import java.util.Comparator;
+import java.util.Objects;
+
+public class Produto1 implements Comparable {
+ //atributos
+ private long codigo;
+ private String nome;
+ private double preco;
+ private int quantidade;
+
+ public Produto1(long codigo, String nome, double preco, int quantidade) {
+ this.codigo = codigo;
+ this.nome = nome;
+ this.preco = preco;
+ this.quantidade = quantidade;
+ }
+
+ @Override
+ public int compareTo(Produto1 p) {
+ return nome.compareToIgnoreCase(p.getNome());
+ }
+
+ public long getCodigo() {
+ return codigo;
+ }
+
+ public String getNome() {
+ return nome;
+ }
+
+ public double getPreco() {
+ return preco;
+ }
+
+ public int getQuantidade() {
+ return quantidade;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof Produto1 produto1)) return false;
+ return getCodigo() == produto1.getCodigo();
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(getCodigo());
+ }
+
+ @Override
+ public String toString() {
+ return "Produto1{" +
+ "codigo=" + codigo +
+ ", nome='" + nome + '\'' +
+ ", preco=" + preco +
+ ", quantidade=" + quantidade +
+ '}';
+ }
+}
+
+class ComparatorPorPreco1 implements Comparator {
+ @Override
+ public int compare(Produto1 p1, Produto1 p2) {
+ return Double.compare(p1.getPreco(), p2.getPreco());
+ }
+}
+
+
+
+
+
+
+
+
diff --git a/src/main/java/set/Pesquisa/AgendaContatos.java b/src/main/java/set/Pesquisa/AgendaContatos.java
index 23fc424..0bbb68b 100644
--- a/src/main/java/set/Pesquisa/AgendaContatos.java
+++ b/src/main/java/set/Pesquisa/AgendaContatos.java
@@ -4,82 +4,44 @@
import java.util.Set;
public class AgendaContatos {
- //atributo
- private Set contatosSet;
-
- public AgendaContatos() {
- this.contatosSet = new HashSet<>();
- }
-
- public void adicionarContato(String nome, int numero) {
- contatosSet.add(new Contato(nome, numero));
- }
-
- public void exibirContatos() {
- if (!contatosSet.isEmpty()) {
- System.out.println(contatosSet);
- } else {
- System.out.println("O conjunto está vazio!");
- }
- }
-
- public Set pesquisarPorNome(String nome) {
- Set contatosPorNome = new HashSet<>();
- if (!contatosSet.isEmpty()) {
- for (Contato c : contatosSet) {
- if (c.getNome().startsWith(nome)) {
- contatosPorNome.add(c);
- }
- }
- return contatosPorNome;
- } else {
- throw new RuntimeException("O conjunto está vazio!");
- }
- }
-
- public Contato atualizarNumeroContato(String nome, int novoNumero) {
- Contato contatoAtualizado = null;
- if (!contatosSet.isEmpty()) {
- for (Contato c : contatosSet) {
- if (c.getNome().equalsIgnoreCase(nome)) {
- c.setNumero(novoNumero);
- contatoAtualizado = c;
- break;
- }
- }
- return contatoAtualizado;
- } else {
- throw new RuntimeException("O conjunto está vazio!");
- }
- }
-
- public static void main(String[] args) {
- // Criando uma instância da classe AgendaContatos
- AgendaContatos agendaContatos = new AgendaContatos();
-
- // Exibindo os contatos no conjunto (deve estar vazio)
- agendaContatos.exibirContatos();
-
- // Adicionando contatos à agenda
- agendaContatos.adicionarContato("João", 123456789);
- agendaContatos.adicionarContato("Maria", 987654321);
- agendaContatos.adicionarContato("Maria Fernandes", 55555555);
- agendaContatos.adicionarContato("Ana", 88889999);
- agendaContatos.adicionarContato("Fernando", 77778888);
- agendaContatos.adicionarContato("Carolina", 55555555);
-
- // Exibindo os contatos na agenda
- agendaContatos.exibirContatos();
-
- // Pesquisando contatos pelo nome
- System.out.println(agendaContatos.pesquisarPorNome("Maria"));
-
- // Atualizando o número de um contato
- Contato contatoAtualizado = agendaContatos.atualizarNumeroContato("Carolina", 44443333);
- System.out.println("Contato atualizado: " + contatoAtualizado);
-
- // Exibindo os contatos atualizados na agenda
- System.out.println("Contatos na agenda após atualização:");
- agendaContatos.exibirContatos();
- }
+ private Set contatosSet;
+
+ public AgendaContatos() {
+ this.contatosSet = new HashSet<>();
+ }
+
+ //é essencial lembrar que no add estou instanciando um novo objeto
+ //e nesse caso como parametro do add informo o new _OBJECT_(p1, p2,...)
+ public void adicionarContatos(String nome, int numeroTelefone){
+ contatosSet.add(new Contato(nome, numeroTelefone));
+ }
+
+ public void exibirContatos(){
+ System.out.println(contatosSet);
+ }
+
+ public Set pesquisarPorNome(String nome){
+ Set contatosPorNome = new HashSet<>();
+ if(!contatosSet.isEmpty()){
+ for(Contato c: contatosSet){
+ //esse metodo startsWith retorna o q começacom()
+ if(c.getNome().startsWith(nome)){
+ contatosPorNome.add(c);
+ }
+ }
+ }
+ return contatosPorNome;
+ }
+
+ public Contato atualizarContato(String nome, int novoNumero){
+ Contato contatoAtualizado = null;
+ for(Contato c:contatosSet){
+ if (c.getNome().equalsIgnoreCase(nome)){
+ c.setNumeroTelefone(novoNumero);
+ contatoAtualizado = c;
+ break;
+ }
+ }
+ return contatoAtualizado;
+ }
}
diff --git a/src/main/java/set/Pesquisa/AgendaContatos1.java b/src/main/java/set/Pesquisa/AgendaContatos1.java
new file mode 100644
index 0000000..1c0861d
--- /dev/null
+++ b/src/main/java/set/Pesquisa/AgendaContatos1.java
@@ -0,0 +1,85 @@
+package main.java.set.Pesquisa;
+
+import java.util.HashSet;
+import java.util.Set;
+
+public class AgendaContatos1 {
+ //atributo
+ private Set contatosSet;
+
+ public AgendaContatos1() {
+ this.contatosSet = new HashSet<>();
+ }
+
+ public void adicionarContato(String nome, int numero) {
+ contatosSet.add(new Contato1(nome, numero));
+ }
+
+ public void exibirContatos() {
+ if (!contatosSet.isEmpty()) {
+ System.out.println(contatosSet);
+ } else {
+ System.out.println("O conjunto está vazio!");
+ }
+ }
+
+ public Set pesquisarPorNome(String nome) {
+ Set contatosPorNome = new HashSet<>();
+ if (!contatosSet.isEmpty()) {
+ for (Contato1 c : contatosSet) {
+ if (c.getNome().startsWith(nome)) {
+ contatosPorNome.add(c);
+ }
+ }
+ return contatosPorNome;
+ } else {
+ throw new RuntimeException("O conjunto está vazio!");
+ }
+ }
+
+ public Contato1 atualizarNumeroContato(String nome, int novoNumero) {
+ Contato1 contato1Atualizado = null;
+ if (!contatosSet.isEmpty()) {
+ for (Contato1 c : contatosSet) {
+ if (c.getNome().equalsIgnoreCase(nome)) {
+ c.setNumero(novoNumero);
+ contato1Atualizado = c;
+ break;
+ }
+ }
+ return contato1Atualizado;
+ } else {
+ throw new RuntimeException("O conjunto está vazio!");
+ }
+ }
+
+ public static void main(String[] args) {
+ // Criando uma instância da classe AgendaContatos1
+ AgendaContatos1 agendaContatos1 = new AgendaContatos1();
+
+ // Exibindo os contatos no conjunto (deve estar vazio)
+ agendaContatos1.exibirContatos();
+
+ // Adicionando contatos à agenda
+ agendaContatos1.adicionarContato("João", 123456789);
+ agendaContatos1.adicionarContato("Maria", 987654321);
+ agendaContatos1.adicionarContato("Maria Fernandes", 55555555);
+ agendaContatos1.adicionarContato("Ana", 88889999);
+ agendaContatos1.adicionarContato("Fernando", 77778888);
+ agendaContatos1.adicionarContato("Carolina", 55555555);
+
+ // Exibindo os contatos na agenda
+ agendaContatos1.exibirContatos();
+
+ // Pesquisando contatos pelo nome
+ System.out.println(agendaContatos1.pesquisarPorNome("Maria"));
+
+ // Atualizando o número de um contato
+ Contato1 contato1Atualizado = agendaContatos1.atualizarNumeroContato("Carolina", 44443333);
+ System.out.println("Contato1 atualizado: " + contato1Atualizado);
+
+ // Exibindo os contatos atualizados na agenda
+ System.out.println("Contatos na agenda após atualização:");
+ agendaContatos1.exibirContatos();
+ }
+}
diff --git a/src/main/java/set/Pesquisa/Contato.java b/src/main/java/set/Pesquisa/Contato.java
index 68b86ce..36c2dd1 100644
--- a/src/main/java/set/Pesquisa/Contato.java
+++ b/src/main/java/set/Pesquisa/Contato.java
@@ -3,41 +3,44 @@
import java.util.Objects;
public class Contato {
- //atributos
- private String nome;
- private int numero;
-
- public Contato(String nome, int numero) {
- this.nome = nome;
- this.numero = numero;
- }
-
- public String getNome() {
- return nome;
- }
-
- public int getNumero() {
- return numero;
- }
-
- public void setNumero(int numero) {
- this.numero = numero;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof Contato contato)) return false;
- return Objects.equals(getNome(), contato.getNome());
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(getNome());
- }
-
- @Override
- public String toString() {
- return "{" + nome + "," + numero + "}";
- }
+ //atributos
+ private String nome;
+ private int numeroTelefone;
+
+ public Contato(String nome, int numeroTelefone) {
+ this.nome = nome;
+ this.numeroTelefone = numeroTelefone;
+ }
+
+ public void setNumeroTelefone(int numeroTelefone) {
+ this.numeroTelefone = numeroTelefone;
+ }
+
+ public String getNome() {
+ return nome;
+ }
+
+ public int getNumeroTelefone() {
+ return numeroTelefone;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof Contato contato)) return false;
+ return getNome().equals(contato.getNome());
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(getNome());
+ }
+
+ @Override
+ public String toString() {
+ return "Contato{" +
+ "nome='" + nome + '\'' +
+ ", numeroTelefone='" + numeroTelefone + '\'' +
+ '}';
+ }
}
diff --git a/src/main/java/set/Pesquisa/Contato1.java b/src/main/java/set/Pesquisa/Contato1.java
new file mode 100644
index 0000000..a205523
--- /dev/null
+++ b/src/main/java/set/Pesquisa/Contato1.java
@@ -0,0 +1,43 @@
+package main.java.set.Pesquisa;
+
+import java.util.Objects;
+
+public class Contato1 {
+ //atributos
+ private String nome;
+ private int numero;
+
+ public Contato1(String nome, int numero) {
+ this.nome = nome;
+ this.numero = numero;
+ }
+
+ public String getNome() {
+ return nome;
+ }
+
+ public int getNumero() {
+ return numero;
+ }
+
+ public void setNumero(int numero) {
+ this.numero = numero;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof Contato1 contato1)) return false;
+ return Objects.equals(getNome(), contato1.getNome());
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(getNome());
+ }
+
+ @Override
+ public String toString() {
+ return "{" + nome + "," + numero + "}";
+ }
+}
diff --git a/src/main/java/set/README.md b/src/main/java/set/README.md
index a587fba..b00a784 100644
--- a/src/main/java/set/README.md
+++ b/src/main/java/set/README.md
@@ -61,12 +61,12 @@ Crie uma classe chamada "ConjuntoPalavrasUnicas" que possui um conjunto de palav
### 1. Agenda de Contatos
-Crie uma classe chamada "AgendaContatos" que possui um conjunto de objetos do tipo "Contato" como atributo. Cada contato possui atributos como nome e número de telefone. Implemente os seguintes métodos:
+Crie uma classe chamada "AgendaContatos" que possui um conjunto de objetos do tipo "Contato" como atributo. Cada contato1 possui atributos como nome e número de telefone. Implemente os seguintes métodos:
-- `adicionarContato(String nome, int numero)`: Adiciona um contato à agenda.
+- `adicionarContato(String nome, int numero)`: Adiciona um contato1 à agenda.
- `exibirContatos()`: Exibe todos os contatos da agenda.
- `pesquisarPorNome(String nome)`: Pesquisa contatos pelo nome e retorna uma conjunto com os contatos encontrados.
-- `atualizarNumeroContato(String nome, int novoNumero)`: Atualiza o número de telefone de um contato específico.
+- `atualizarNumeroContato(String nome, int novoNumero)`: Atualiza o número de telefone de um contato1 específico.
### 2. Lista de Tarefas
@@ -92,9 +92,9 @@ Crie uma classe chamada "ListaTarefas" que possui um conjunto de objetos do tipo
### 1. Cadastro de Produtos
-Crie uma classe chamada "CadastroProdutos" que possui um conjunto de objetos do tipo "Produto" como atributo. Cada produto possui atributos como nome, cod, preço e quantidade. Implemente os seguintes métodos:
+Crie uma classe chamada "CadastroProdutos" que possui um conjunto de objetos do tipo "Produto" como atributo. Cada produto1 possui atributos como nome, cod, preço e quantidade. Implemente os seguintes métodos:
-- `adicionarProduto(long cod, String nome, double preco, int quantidade)`: Adiciona um produto ao cadastro.
+- `adicionarProduto(long cod, String nome, double preco, int quantidade)`: Adiciona um produto1 ao cadastro.
- `exibirProdutosPorNome()`: Exibe todos os produtos do cadastro em ordem alfabética pelo nome.
- `exibirProdutosPorPreco()`: Exibe todos os produtos do cadastro em ordem crescente de preço.