diff --git a/.idea/misc.xml b/.idea/misc.xml index 83beada..4c0cbe8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,6 @@ + - + diff --git a/collections-java-api-2023.iml b/collections-java-api.iml similarity index 100% rename from collections-java-api-2023.iml rename to collections-java-api.iml 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/set/Ordenacao/Produto.class b/out/production/collections-java-api-2023/main/java/set/Ordenacao/Produto.class index 642c87b..26a42c6 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/src/develop/java/Main.java b/src/develop/java/Main.java new file mode 100644 index 0000000..e8173c7 --- /dev/null +++ b/src/develop/java/Main.java @@ -0,0 +1,8 @@ +package develop.java; + + +public class Main { + public static void main(String[] args) { + System.out.println("Teste"); + } +} diff --git a/src/develop/java/list/OperacoesBasicas/CarrinhoDeCompras/CarrinhoDeCompras.java b/src/develop/java/list/OperacoesBasicas/CarrinhoDeCompras/CarrinhoDeCompras.java new file mode 100644 index 0000000..41313d0 --- /dev/null +++ b/src/develop/java/list/OperacoesBasicas/CarrinhoDeCompras/CarrinhoDeCompras.java @@ -0,0 +1,77 @@ +package develop.java.list.OperacoesBasicas.CarrinhoDeCompras; + +import java.util.ArrayList; +import java.util.List; + +public class CarrinhoDeCompras { + + List itemList; + + public CarrinhoDeCompras() { + this.itemList = new ArrayList<>(); + } + + public void adicionarItem(String nome, double preco, int quantidade){ + itemList.add(new Item(nome, preco, quantidade)); + } + + public void removerItem(String nome){ + List itemListToRemove = new ArrayList<>(); + + for (Item item: itemList){ + if (item.getNome().equalsIgnoreCase(nome)){ + itemListToRemove.add(item); + } + } + + itemList.removeAll(itemListToRemove); + } + + public double calcularValorTotal(){ + double total = 0.00; + + for (Item item: itemList){ + total += item.getPreco() * item.getQuantidade(); + } + + return total; + } + + public void exibirItens(){ + System.out.println(itemList); + } + + public int numeroTotalDeItens(){ + return itemList.size(); + } + + public static void main(String[] args) { + + CarrinhoDeCompras carrinhoDeCompras = new CarrinhoDeCompras(); + + System.out.println("Número de itens no carrinho: " + carrinhoDeCompras.numeroTotalDeItens()); + + carrinhoDeCompras.adicionarItem("Sabonete", 1.0, 5); + carrinhoDeCompras.adicionarItem("Shampoo", 8.0, 1); + carrinhoDeCompras.adicionarItem("Arroz", 19.50, 2); + carrinhoDeCompras.adicionarItem("Arroz", 19.50, 2); + carrinhoDeCompras.adicionarItem("Feijão", 4.99, 4); + + System.out.println("Número de itens no carrinho: " + carrinhoDeCompras.numeroTotalDeItens()); + + System.out.println("Valor total das compras: " + carrinhoDeCompras.calcularValorTotal()); + + System.out.println("*** Itens no carrinho ***"); + carrinhoDeCompras.exibirItens(); + + carrinhoDeCompras.removerItem("arroz"); + carrinhoDeCompras.exibirItens(); + + carrinhoDeCompras.adicionarItem("Arroz", 19.50, 2); + System.out.println("Valor total das compras: " + carrinhoDeCompras.calcularValorTotal()); + carrinhoDeCompras.exibirItens(); + + + + } +} diff --git a/src/develop/java/list/OperacoesBasicas/CarrinhoDeCompras/Item.java b/src/develop/java/list/OperacoesBasicas/CarrinhoDeCompras/Item.java new file mode 100644 index 0000000..db72271 --- /dev/null +++ b/src/develop/java/list/OperacoesBasicas/CarrinhoDeCompras/Item.java @@ -0,0 +1,50 @@ +package develop.java.list.OperacoesBasicas.CarrinhoDeCompras; + +public class Item { + // + private String nome; + private double preco; + private int quantidade; + + public Item(String nome, double preco, int quantidade) { + this.nome = nome; + this.preco = preco; + this.quantidade = quantidade; + } + + public Item() { + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public double getPreco() { + return preco; + } + + public void setPreco(double preco) { + this.preco = preco; + } + + public int getQuantidade() { + return quantidade; + } + + public void setQuantidade(int quantidade) { + this.quantidade = quantidade; + } + + @Override + public String toString() { + return "Item{" + + "nome='" + nome + '\'' + + ", preco=" + preco + + ", quantidade=" + quantidade + + '}'; + } +} diff --git a/src/develop/java/list/OperacoesBasicas/ListaDeTarefas/ListaTarefa.java b/src/develop/java/list/OperacoesBasicas/ListaDeTarefas/ListaTarefa.java new file mode 100644 index 0000000..c21e704 --- /dev/null +++ b/src/develop/java/list/OperacoesBasicas/ListaDeTarefas/ListaTarefa.java @@ -0,0 +1,57 @@ +package develop.java.list.OperacoesBasicas.ListaDeTarefas; + +import java.util.ArrayList; +import java.util.List; + +public class ListaTarefa { + + private List tarefaList; + + public ListaTarefa() { + this.tarefaList = new ArrayList<>(); + } + + public void adicionaTarefa(String descricao){ + tarefaList.add(new Tarefa(descricao)); + } + + public void removerTarefa(String descricao){ + List tarefasParaRemover = new ArrayList<>(); + + for (Tarefa t: tarefaList){ + if (t.getDescricao().equalsIgnoreCase(descricao)){ + tarefasParaRemover.add(t); + } + } + + tarefaList.removeAll(tarefasParaRemover); + } + + public int obterNumeroTotalTarefas(){ + return tarefaList.size(); + } + + public void obterDescricoesTarefas(){ + System.out.println(tarefaList); + } + + public static void main(String[] args) { + ListaTarefa listaTarefa = new ListaTarefa(); + + System.out.println("O número de elementos na lista é: " + listaTarefa.obterNumeroTotalTarefas()); + + listaTarefa.adicionaTarefa("Tarefa 001"); + listaTarefa.adicionaTarefa("Tarefa 002"); + listaTarefa.adicionaTarefa("Tarefa 002"); + listaTarefa.adicionaTarefa("Tarefa 003"); + System.out.println("O número de elementos na lista é: " + listaTarefa.obterNumeroTotalTarefas()); + + listaTarefa.removerTarefa("Tarefa 002"); + System.out.println("O número de elementos na lista é: " + listaTarefa.obterNumeroTotalTarefas()); + + listaTarefa.obterDescricoesTarefas(); + + + + } +} diff --git a/src/develop/java/list/OperacoesBasicas/ListaDeTarefas/Tarefa.java b/src/develop/java/list/OperacoesBasicas/ListaDeTarefas/Tarefa.java new file mode 100644 index 0000000..969e304 --- /dev/null +++ b/src/develop/java/list/OperacoesBasicas/ListaDeTarefas/Tarefa.java @@ -0,0 +1,25 @@ +package develop.java.list.OperacoesBasicas.ListaDeTarefas; + +public class Tarefa { + // + private String descricao; + + public Tarefa(String descricao) { + this.descricao = descricao; + } + + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + @Override + public String toString() { + return "Tarefa{" + + "descricao='" + descricao + '\'' + + '}'; + } +} diff --git a/src/develop/java/list/ordenacao/OrdenacaoDeNumeros/OrdenacaoNumeros.java b/src/develop/java/list/ordenacao/OrdenacaoDeNumeros/OrdenacaoNumeros.java new file mode 100644 index 0000000..9bf4b30 --- /dev/null +++ b/src/develop/java/list/ordenacao/OrdenacaoDeNumeros/OrdenacaoNumeros.java @@ -0,0 +1,90 @@ +package develop.java.list.ordenacao.OrdenacaoDeNumeros; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +public class OrdenacaoNumeros { + + private List integerList; + + public OrdenacaoNumeros() { + this.integerList = new ArrayList<>(); + } + + public void adicionarNumero(int numero){ + integerList.add(numero); + } + + public void exibirNumeros(){ + System.out.println(integerList); + } + + + public List ordenarAscendenteComparable(){ + List numerosAscendente = new ArrayList<>(integerList); + Collections.sort(numerosAscendente); + return numerosAscendente; + } + + public List ordenarDescendenteComparable(){ + List numerosDescendente = new ArrayList<>(integerList); + numerosDescendente.sort(Collections.reverseOrder()); + return numerosDescendente; + } + + public List ordenarAscendenteComparator(){ + List numerosAscendente = new ArrayList<>(integerList); + Collections.sort(numerosAscendente,new NumeroComparatorAscendente()); + return numerosAscendente; + } + + public List ordenarDescendenteComparator(){ + List numerosDescendente = new ArrayList<>(integerList); + Collections.sort(numerosDescendente,new NumeroComparatorDescendente()); + return numerosDescendente; + } + + public static void main(String[] args) { + OrdenacaoNumeros numeros = new OrdenacaoNumeros(); + + // Adicionando números à lista + numeros.adicionarNumero(2); + numeros.adicionarNumero(5); + numeros.adicionarNumero(4); + numeros.adicionarNumero(1); + numeros.adicionarNumero(99); + + // Exibindo a lista de números adicionados + numeros.exibirNumeros(); + + // Ordenando e exibindo em ordem ascendente + System.out.println("Ascendente Comparable: " + numeros.ordenarAscendenteComparable()); + System.out.println("Ascendente Comparator: " + numeros.ordenarAscendenteComparator()); + + // Exibindo a lista + numeros.exibirNumeros(); + + // Ordenando e exibindo em ordem descendente + System.out.println("Descendente Comparable: " + numeros.ordenarDescendenteComparator()); + System.out.println("Descendente Comparator: " + numeros.ordenarDescendenteComparator()); + + // Exibindo a lista + numeros.exibirNumeros(); + } + +} + +class NumeroComparatorAscendente implements Comparator{ + @Override + public int compare(Integer i1, Integer i2) { + return Integer.compare(i1,i2); + } +} +class NumeroComparatorDescendente implements Comparator{ + @Override + public int compare(Integer i1, Integer i2) { + return Integer.compare(i2,i1); + } +} diff --git a/src/develop/java/list/ordenacao/OrdenacaoDePessoas/OrdenacaoPessoa.java b/src/develop/java/list/ordenacao/OrdenacaoDePessoas/OrdenacaoPessoa.java new file mode 100644 index 0000000..b4f69d7 --- /dev/null +++ b/src/develop/java/list/ordenacao/OrdenacaoDePessoas/OrdenacaoPessoa.java @@ -0,0 +1,51 @@ +package develop.java.list.ordenacao.OrdenacaoDePessoas; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class OrdenacaoPessoa { + + private List pessoaList; + + public OrdenacaoPessoa() { + this.pessoaList = new ArrayList<>(); + } + + public void adicionaPessoa(String nome, int idade, double altura){ + pessoaList.add(new Pessoa(nome, idade, altura)); + } + + public List ordenarPorIdade(){ + List pessoasListPorIdade = new ArrayList<>(pessoaList); + Collections.sort(pessoasListPorIdade); + return pessoasListPorIdade; + } + + public List ordernarPorAltura(){ + List pessoaListPorAltura = new ArrayList<>(pessoaList); + Collections.sort(pessoaListPorAltura, new ComparatorPorAltura()); + return pessoaListPorAltura; + } + + public List ordenarPorNome(){ + List pessoaListPorNome = new ArrayList<>(pessoaList); + Collections.sort(pessoaListPorNome, new ComparatorPorNome()); + return pessoaListPorNome; + } + + + public static void main(String[] args) { + OrdenacaoPessoa ordenacaoPessoa = new OrdenacaoPessoa(); + ordenacaoPessoa.adicionaPessoa("Nome 2",30,1.80); + ordenacaoPessoa.adicionaPessoa("Nome 1",20,1.56); + ordenacaoPessoa.adicionaPessoa("Nome 4",17,1.56); + ordenacaoPessoa.adicionaPessoa("Nome 3",25,1.70); + + System.out.println("Ordenação por idade: " + ordenacaoPessoa.ordenarPorIdade()); + System.out.println("Ordenação por altura: " + ordenacaoPessoa.ordernarPorAltura()); + System.out.println("Ordenação por nome:" + ordenacaoPessoa.ordenarPorNome()); + + } + +} diff --git a/src/develop/java/list/ordenacao/OrdenacaoDePessoas/Pessoa.java b/src/develop/java/list/ordenacao/OrdenacaoDePessoas/Pessoa.java new file mode 100644 index 0000000..4abd69c --- /dev/null +++ b/src/develop/java/list/ordenacao/OrdenacaoDePessoas/Pessoa.java @@ -0,0 +1,73 @@ +package develop.java.list.ordenacao.OrdenacaoDePessoas; + +import java.util.Comparator; + +public class Pessoa implements Comparable{ + private String nome; + private int idade; + private double altura; + + public Pessoa(String nome, int idade, double altura) { + this.nome = nome; + this.idade = idade; + this.altura = altura; + } + + @Override + public int compareTo(Pessoa p) { + return Integer.compare(idade, p.getIdade()); + } + + public Pessoa() { + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public int getIdade() { + return idade; + } + + public void setIdade(int idade) { + this.idade = idade; + } + + public double getAltura() { + return altura; + } + + public void setAltura(double altura) { + this.altura = altura; + } + + @Override + public String toString() { + return "Pessoa{" + + "nome='" + nome + '\'' + + ", idade=" + idade + + ", altura=" + altura + + "} \n"; + } + +} + +class ComparatorPorAltura implements Comparator{ + + @Override + public int compare(Pessoa p1, Pessoa p2) { + return Double.compare(p1.getAltura(),p2.getAltura()); + } +} + +class ComparatorPorNome implements Comparator{ + + @Override + public int compare(Pessoa p1, Pessoa p2) { + return String.CASE_INSENSITIVE_ORDER.compare(p1.getNome(), p2.getNome()); + } +} \ No newline at end of file diff --git a/src/develop/java/list/pesquisa/CatalogoDeLivros/CatalogoLivros.java b/src/develop/java/list/pesquisa/CatalogoDeLivros/CatalogoLivros.java new file mode 100644 index 0000000..2417612 --- /dev/null +++ b/src/develop/java/list/pesquisa/CatalogoDeLivros/CatalogoLivros.java @@ -0,0 +1,74 @@ +package develop.java.list.pesquisa.CatalogoDeLivros; + +import java.util.ArrayList; +import java.util.List; + +public class CatalogoLivros { + private List livroList; + + public CatalogoLivros() { + this.livroList = new ArrayList<>(); + } + + public void adicionarLivro(String titulo, String autor, int anoPublicacao) { + livroList.add(new Livro(titulo, autor, anoPublicacao)); + } + + public List pesquisarPorAutor(String autor){ + List livrosDoAutor = new ArrayList<>(); + + if (!livroList.isEmpty()){ + for (Livro livro: livroList){ + if (livro.getAutor().equalsIgnoreCase(autor)){ + livrosDoAutor.add(livro); + } + } + } + + return livrosDoAutor; + } + public List pesquisarPorIntervaloAnos(int anoInicial, int anoFinal){ + List livrosIntervalo = new ArrayList<>(); + + if (!livroList.isEmpty()){ + for (Livro livro: livroList){ + if (livro.getAnoPublicacao() >= anoInicial && livro.getAnoPublicacao() <= anoFinal){ + livrosIntervalo.add(livro); + } + } + } + + return livrosIntervalo; + } + + public Livro pesquisarPorTitulo(String titulo) { + for (Livro livro: livroList){ + if (livro.getTitulo().equalsIgnoreCase(titulo)) { + return livro; + } + } + + return null; + } + + public static void main(String[] args) { + CatalogoLivros catalogoLivros = new CatalogoLivros(); + catalogoLivros.adicionarLivro("Livro 1","Autor 1", 2020); + catalogoLivros.adicionarLivro("Livro 1","Autor 2", 2021); + catalogoLivros.adicionarLivro("Livro 2","Autor 2", 2022); + catalogoLivros.adicionarLivro("Livro 3","Autor 3", 2023); + catalogoLivros.adicionarLivro("Livro 4","Autor 4", 1994); + catalogoLivros.adicionarLivro("Livro 5","Autor 5", 1993); + +// Pesquisa livro por autor + System.out.println(catalogoLivros.pesquisarPorAutor("Autor 2")); + +// Pesquisar por intervalo de anos + System.out.println(catalogoLivros.pesquisarPorIntervaloAnos(1990, 2022)); + +// Pesquisar por titulo + System.out.println(catalogoLivros.pesquisarPorTitulo("Livro 1")); + + + } +} diff --git a/src/develop/java/list/pesquisa/CatalogoDeLivros/Livro.java b/src/develop/java/list/pesquisa/CatalogoDeLivros/Livro.java new file mode 100644 index 0000000..ef25c64 --- /dev/null +++ b/src/develop/java/list/pesquisa/CatalogoDeLivros/Livro.java @@ -0,0 +1,46 @@ +package develop.java.list.pesquisa.CatalogoDeLivros; + +public class Livro { + private String titulo; + private String autor; + private int anoPublicacao; + + public Livro(String titulo, String autor, int anoPublicacao) { + this.titulo = titulo; + this.autor = autor; + this.anoPublicacao = anoPublicacao; + } + + public String getTitulo() { + return titulo; + } + + public void setTitulo(String titulo) { + this.titulo = titulo; + } + + public String getAutor() { + return autor; + } + + public void setAutor(String autor) { + this.autor = autor; + } + + public int getAnoPublicacao() { + return anoPublicacao; + } + + public void setAnoPublicacao(int anoPublicacao) { + this.anoPublicacao = anoPublicacao; + } + + @Override + public String toString() { + return "Livro{" + + "titulo='" + titulo + '\'' + + ", autor='" + autor + '\'' + + ", anoPublicacao=" + anoPublicacao + + '}'; + } +} diff --git a/src/develop/java/list/pesquisa/SomaDeNumeros/SomaNumeros.java b/src/develop/java/list/pesquisa/SomaDeNumeros/SomaNumeros.java new file mode 100644 index 0000000..0ce4be4 --- /dev/null +++ b/src/develop/java/list/pesquisa/SomaDeNumeros/SomaNumeros.java @@ -0,0 +1,65 @@ +package develop.java.list.pesquisa.SomaDeNumeros; + +import java.util.ArrayList; +import java.util.List; + +public class SomaNumeros { + + private List integerList; + + public SomaNumeros() { + this.integerList = new ArrayList<>(); + } + + public void adicionaNumero(int numero){ + integerList.add(numero); + } + + public int calcularSoma(){ + int soma = 0; + for (Integer i : integerList){ + soma += i; + } + return soma; + } + + public int encontrarMaiorNumero(){ + int maiorValor = Integer.MIN_VALUE; + for (Integer i : integerList){ + if (i > maiorValor){ + maiorValor = i; + } + } + return maiorValor; + } + + public int encontrarMenorNumero(){ + int menorValor = Integer.MAX_VALUE; + for (Integer i : integerList){ + if (i < menorValor){ + menorValor = i; + } + } + return menorValor; + } + + public void exibirNumeros(){ + System.out.println(integerList); + } + + public static void main(String[] args) { + SomaNumeros somaNumeros = new SomaNumeros(); + somaNumeros.adicionaNumero(1); + somaNumeros.adicionaNumero(2); + somaNumeros.adicionaNumero(3); + somaNumeros.adicionaNumero(4); + somaNumeros.adicionaNumero(5); + + System.out.println("Soma de todos números: " + somaNumeros.calcularSoma()); + System.out.println("Maior número: " + somaNumeros.encontrarMaiorNumero()); + System.out.println("Menor número: " + somaNumeros.encontrarMenorNumero()); + somaNumeros.exibirNumeros(); + + } + +} diff --git a/src/develop/java/set/OperacoesBasicas/ConjuntoDeConvidados/ConjuntoConvidados.java b/src/develop/java/set/OperacoesBasicas/ConjuntoDeConvidados/ConjuntoConvidados.java new file mode 100644 index 0000000..29c1540 --- /dev/null +++ b/src/develop/java/set/OperacoesBasicas/ConjuntoDeConvidados/ConjuntoConvidados.java @@ -0,0 +1,52 @@ +package develop.java.set.OperacoesBasicas.ConjuntoDeConvidados; + +import java.util.HashSet; +import java.util.Set; + +public class ConjuntoConvidados { + private Set convidadoSet; + + public ConjuntoConvidados() { + convidadoSet = new HashSet<>(); + } + + public void adicionaConvidado(String nome, int codigoConvite){ + convidadoSet.add(new Convidado(nome, codigoConvite)); + } + + public void removerConvidadoPorCodigoConvite(int codigoConvite) { + for (Convidado c: convidadoSet){ + if (c.getCodigoConvite() == codigoConvite){ + convidadoSet.remove(c); + break; + } + } + } + + public int contarConvidados(){ + return convidadoSet.size(); + } + + public void exibirConvidados(){ + System.out.println(convidadoSet); + } + + public static void main(String[] args) { + ConjuntoConvidados conjuntoConvidados = new ConjuntoConvidados(); + conjuntoConvidados.adicionaConvidado("Convidado 1", 1); + conjuntoConvidados.adicionaConvidado("Convidado 2", 2); + conjuntoConvidados.adicionaConvidado("Convidado 9", 2); + conjuntoConvidados.adicionaConvidado("Convidado 2", 3); + conjuntoConvidados.adicionaConvidado("Convidado 3", 4); + conjuntoConvidados.adicionaConvidado("Convidado 4", 5); + + System.out.println("Quantidade de convidados: " + conjuntoConvidados.contarConvidados()); + conjuntoConvidados.exibirConvidados(); + + conjuntoConvidados.removerConvidadoPorCodigoConvite(2); + + System.out.println("Quantidade de convidados: " + conjuntoConvidados.contarConvidados()); + + + } +} diff --git a/src/develop/java/set/OperacoesBasicas/ConjuntoDeConvidados/Convidado.java b/src/develop/java/set/OperacoesBasicas/ConjuntoDeConvidados/Convidado.java new file mode 100644 index 0000000..ad37efd --- /dev/null +++ b/src/develop/java/set/OperacoesBasicas/ConjuntoDeConvidados/Convidado.java @@ -0,0 +1,49 @@ +package develop.java.set.OperacoesBasicas.ConjuntoDeConvidados; + +import java.util.Objects; + +public class Convidado { + private String nome; + private int codigoConvite; + + public Convidado(String nome, int codigoConvite) { + this.nome = nome; + this.codigoConvite = codigoConvite; + } + + @Override + public String toString() { + return "Convidado{" + + "nome='" + nome + '\'' + + ", codigoConvite=" + codigoConvite + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Convidado convidado)) return false; + return codigoConvite == convidado.codigoConvite; + } + + @Override + public int hashCode() { + return Objects.hash(codigoConvite); + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public int getCodigoConvite() { + return codigoConvite; + } + + public void setCodigoConvite(int codigoConvite) { + this.codigoConvite = codigoConvite; + } +} diff --git a/src/develop/java/set/OperacoesBasicas/ConjuntoDePalavrasUnicas/ConjuntoPalabrasUnicas.java b/src/develop/java/set/OperacoesBasicas/ConjuntoDePalavrasUnicas/ConjuntoPalabrasUnicas.java new file mode 100644 index 0000000..7b2fa91 --- /dev/null +++ b/src/develop/java/set/OperacoesBasicas/ConjuntoDePalavrasUnicas/ConjuntoPalabrasUnicas.java @@ -0,0 +1,55 @@ +package develop.java.set.OperacoesBasicas.ConjuntoDePalavrasUnicas; + +import java.util.HashSet; +import java.util.Set; + +public class ConjuntoPalabrasUnicas { + + private Set conjuntoPalavras; + + public ConjuntoPalabrasUnicas() { + this.conjuntoPalavras = new HashSet<>(); + } + + public void adicionarPalavra(String palavra){ + conjuntoPalavras.add(palavra); + } + + public void removerPalavra(String palavra){ + conjuntoPalavras.remove(palavra); + } + + public boolean verificarPalavra(String palavra){ + for (String s : conjuntoPalavras){ + if (s.equalsIgnoreCase(palavra)){ + return true; + } + } + return false; + } + + public void exibirPalavrasUnicas(){ + System.out.println(conjuntoPalavras); + } + + + public static void main(String[] args) { + ConjuntoPalabrasUnicas conjuntoPalabrasUnicas = new ConjuntoPalabrasUnicas(); + + conjuntoPalabrasUnicas.adicionarPalavra("Palavra 1"); + conjuntoPalabrasUnicas.adicionarPalavra("Palavra 2"); + conjuntoPalabrasUnicas.adicionarPalavra("Palavra 3"); + conjuntoPalabrasUnicas.adicionarPalavra("Palavra 4"); + conjuntoPalabrasUnicas.adicionarPalavra("Palavra 5"); + + conjuntoPalabrasUnicas.exibirPalavrasUnicas(); + + conjuntoPalabrasUnicas.removerPalavra("Palavra 3"); + + conjuntoPalabrasUnicas.exibirPalavrasUnicas(); + + System.out.println("Contem Palavra 2? " + + conjuntoPalabrasUnicas + .verificarPalavra("Palavra 3")); + } +} diff --git a/src/develop/java/set/ordenacao/CadastroDeProdutos/CadastroProdutos.java b/src/develop/java/set/ordenacao/CadastroDeProdutos/CadastroProdutos.java new file mode 100644 index 0000000..89a35e8 --- /dev/null +++ b/src/develop/java/set/ordenacao/CadastroDeProdutos/CadastroProdutos.java @@ -0,0 +1,48 @@ +package develop.java.set.ordenacao.CadastroDeProdutos; + +import java.util.HashSet; +import java.util.Set; +import java.util.TreeSet; + +public class CadastroProdutos { + + private Set conjuntoProdutos; + + public CadastroProdutos() { + this.conjuntoProdutos = new HashSet<>(); + } + + public void adicionarProduto(long cod, + String nome, + double preco, + int quantidade){ + conjuntoProdutos.add(new Produto(cod, nome, preco, quantidade)); + } + + public Set exibirProdutosPorNome(){ + return new TreeSet<>(conjuntoProdutos); + } + + public Set exibirProdutosPorPreco(){ + Set produtoPorPreco = new TreeSet<>(new ComparablePorPreco()); + produtoPorPreco.addAll(conjuntoProdutos); + return produtoPorPreco; + } + + 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 produtos ordenados por nome + System.out.println(cadastroProdutos.exibirProdutosPorNome()); + + // Exibindo produtos ordenados por preço + System.out.println(cadastroProdutos.exibirProdutosPorPreco()); + } +} diff --git a/src/develop/java/set/ordenacao/CadastroDeProdutos/Produto.java b/src/develop/java/set/ordenacao/CadastroDeProdutos/Produto.java new file mode 100644 index 0000000..f262856 --- /dev/null +++ b/src/develop/java/set/ordenacao/CadastroDeProdutos/Produto.java @@ -0,0 +1,86 @@ +package develop.java.set.ordenacao.CadastroDeProdutos; + +import java.util.Comparator; +import java.util.Objects; + +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; + } + + @Override + public String toString() { + return "Produto{" + + "cod=" + cod + + ", nome='" + nome + '\'' + + ", preco=" + preco + + ", quantidade=" + quantidade + + "} \n"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Produto produto)) return false; + return cod == produto.cod; + } + + @Override + public int hashCode() { + return Objects.hash(cod); + } + + public long getCod() { + return cod; + } + + public void setCod(long cod) { + this.cod = cod; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public double getPreco() { + return preco; + } + + public void setPreco(double preco) { + this.preco = preco; + } + + public int getQuantidade() { + return quantidade; + } + + public void setQuantidade(int quantidade) { + this.quantidade = quantidade; + } + + @Override + public int compareTo(Produto p) { + return nome.compareTo(p.getNome()); + } +} + +class ComparablePorPreco implements Comparator { + + @Override + public int compare(Produto p1, Produto p2) { + return Double.compare(p1.getPreco(), p2.getPreco()); + } +} \ No newline at end of file diff --git a/src/develop/java/set/ordenacao/ListaDeAlunos/Aluno.java b/src/develop/java/set/ordenacao/ListaDeAlunos/Aluno.java new file mode 100644 index 0000000..5ce35df --- /dev/null +++ b/src/develop/java/set/ordenacao/ListaDeAlunos/Aluno.java @@ -0,0 +1,74 @@ +package develop.java.set.ordenacao.ListaDeAlunos; + +import java.util.Comparator; +import java.util.Objects; + +public class Aluno implements Comparable{ + + private String nome; + private Long matricula; + private double media; + + public Aluno(String nome, Long matricula, double media) { + this.nome = nome; + this.matricula = matricula; + this.media = media; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Aluno aluno)) return false; + return Objects.equals(getMatricula(), aluno.getMatricula()); + } + + @Override + public int hashCode() { + return Objects.hash(getMatricula()); + } + + @Override + public String toString() { + return "\n Aluno{" + + "nome='" + nome + '\'' + + ", matricula=" + matricula + + ", media=" + media + + '}'; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public Long getMatricula() { + return matricula; + } + + public void setMatricula(Long matricula) { + this.matricula = matricula; + } + + public double getMedia() { + return media; + } + + public void setMedia(double media) { + this.media = media; + } + + @Override + public int compareTo(Aluno a) { + return nome.compareTo(a.getNome()); + } +} + +class ComparatorPorNota implements Comparator{ + @Override + public int compare(Aluno a1, Aluno a2) { + return Double.compare(a1.getMedia(), a2.getMedia()); + } +} diff --git a/src/develop/java/set/ordenacao/ListaDeAlunos/GerenciadorAlunos.java b/src/develop/java/set/ordenacao/ListaDeAlunos/GerenciadorAlunos.java new file mode 100644 index 0000000..86db0f2 --- /dev/null +++ b/src/develop/java/set/ordenacao/ListaDeAlunos/GerenciadorAlunos.java @@ -0,0 +1,68 @@ +package develop.java.set.ordenacao.ListaDeAlunos; + +import java.util.HashSet; +import java.util.Set; +import java.util.TreeSet; + +public class GerenciadorAlunos { + + private Set listaAlunos; + + public GerenciadorAlunos() { + this.listaAlunos = new HashSet<>(); + } + + public void adicionarAluno(String nome, Long matricula, double media){ + listaAlunos.add(new Aluno(nome, matricula, media)); + } + + public void removerAluno(long matricula){ + for (Aluno a : listaAlunos){ + if (a.getMatricula() == matricula){ + listaAlunos.remove(a); + break; + } + } + } + public void exibirAlunosPorNome(){ + Set alunosPorNome = new TreeSet<>(listaAlunos); + System.out.println(alunosPorNome); + } + + public void exibirAlunosPorNota(){ + Set alunosPorNota = new TreeSet<>(new ComparatorPorNota()); + alunosPorNota.addAll(listaAlunos); + System.out.println(alunosPorNota); + } + + public void exibirAlunos(){ + System.out.println(listaAlunos); + } + + public static void main(String[] args) { + GerenciadorAlunos gerenciadorAlunos = new GerenciadorAlunos(); + + // Adicionando alunos ao gerenciador + gerenciadorAlunos.adicionarAluno("João", 123456L, 7.5); + gerenciadorAlunos.adicionarAluno("Maria", 123457L, 9.0); + gerenciadorAlunos.adicionarAluno("Carlos", 123458L, 5.0); + gerenciadorAlunos.adicionarAluno("Ana", 123459L, 6.8); + + // Exibindo todos os alunos no gerenciador + System.out.println("Alunos no gerenciador:"); + System.out.println(gerenciadorAlunos.listaAlunos); + + // Removendo um aluno com matrícula inválida e outro pelo número de matrícula + gerenciadorAlunos.removerAluno(000L); + gerenciadorAlunos.removerAluno(123457L); + System.out.println(gerenciadorAlunos.listaAlunos); + + // Exibindo alunos ordenados por nome + System.out.println("Alunos por nome"); + gerenciadorAlunos.exibirAlunosPorNome(); + + // Exibindo alunos ordenados por nota + System.out.println("Alunos por nota"); + gerenciadorAlunos.exibirAlunosPorNota(); + } +} diff --git a/src/develop/java/set/pesquisa/AgendaDeContatos/AgendaContatos.java b/src/develop/java/set/pesquisa/AgendaDeContatos/AgendaContatos.java new file mode 100644 index 0000000..d360885 --- /dev/null +++ b/src/develop/java/set/pesquisa/AgendaDeContatos/AgendaContatos.java @@ -0,0 +1,62 @@ +package develop.java.set.pesquisa.AgendaDeContatos; + +import java.util.HashSet; +import java.util.Set; + +public class AgendaContatos { + + Set contatoSet; + + public AgendaContatos() { + this.contatoSet = new HashSet<>(); + } + + public void adicionarContato(String nome, int numero){ + contatoSet.add(new Contato(nome, numero)); + } + + public void exibirContatos(){ + System.out.println(contatoSet); + } + + public Set pesquisarPorNome(String nome){ + Set contatosPorNome = new HashSet<>(); + for (Contato c: contatoSet){ + if (c.getNome().startsWith(nome)){ + contatosPorNome.add(c); + } + } + return contatosPorNome; + } + + public void atualizarNumeroContato(String nome, int novoNumero){ + for (Contato c : contatoSet){ + if (c.getNome().equalsIgnoreCase(nome)){ + c.setNumero(novoNumero); + break; + } + } + } + + public static void main(String[] args) { + AgendaContatos agendaContatos = new AgendaContatos(); + + agendaContatos.exibirContatos(); + + agendaContatos.adicionarContato("Paulo", 991652625); +// esse contato não é adicionado por ter o mesmo nome + agendaContatos.adicionarContato("Paulo",333444); + agendaContatos.adicionarContato("Paulo Roberto",111555); + agendaContatos.adicionarContato("Paulo Malandrim",222777); + agendaContatos.adicionarContato("José Antonio",991652625); + + agendaContatos.exibirContatos(); + + System.out.println("Pesquisa por nome Paulo: " + agendaContatos.pesquisarPorNome("Paulo")); + + agendaContatos.atualizarNumeroContato("Paulo", 88664422); + + System.out.println("Pesquisa por nome Paulo: " + agendaContatos.pesquisarPorNome("Paulo")); + + } +} diff --git a/src/develop/java/set/pesquisa/AgendaDeContatos/Contato.java b/src/develop/java/set/pesquisa/AgendaDeContatos/Contato.java new file mode 100644 index 0000000..a530f27 --- /dev/null +++ b/src/develop/java/set/pesquisa/AgendaDeContatos/Contato.java @@ -0,0 +1,51 @@ +package develop.java.set.pesquisa.AgendaDeContatos; + +import java.util.Objects; + +public class Contato { + + private String nome; + + private int numero; + + public Contato(String nome, int numero) { + this.nome = nome; + this.numero = numero; + } + + @Override + public String toString() { + return "Contato{" + + "nome='" + nome + '\'' + + ", numero=" + numero + + "} \n"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Contato contato)) return false; + return Objects.equals(nome, contato.nome); + } + + @Override + public int hashCode() { + return Objects.hash(nome); + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public int getNumero() { + return numero; + } + + public void setNumero(int numero) { + this.numero = numero; + } +} diff --git a/src/develop/java/set/pesquisa/ListaDeTarefas/ListaTarefas.java b/src/develop/java/set/pesquisa/ListaDeTarefas/ListaTarefas.java new file mode 100644 index 0000000..ea40d0b --- /dev/null +++ b/src/develop/java/set/pesquisa/ListaDeTarefas/ListaTarefas.java @@ -0,0 +1,115 @@ +package develop.java.set.pesquisa.ListaDeTarefas; + +import java.util.HashSet; +import java.util.Set; + +public class ListaTarefas { + Set listaDeTarefas; + + public ListaTarefas() { + this.listaDeTarefas = new HashSet<>(); + } + + public void adicionarTarefa(String descricao){ + listaDeTarefas.add(new Tarefa(descricao, false)); + } + + public void removerTarefa(String descricao){ + listaDeTarefas.remove(new Tarefa(descricao,false)); + } + + public void exibirTarefas(){ + System.out.println(listaDeTarefas); + } + + public int contarTarefas(){ + return listaDeTarefas.size(); + } + + public Set obterTarefasConcluidas(){ + Set tarefasConcluidas = new HashSet<>(); + + for (Tarefa tarefa : listaDeTarefas){ + if (tarefa.isConcluida()){ + tarefasConcluidas.add(tarefa); + } + } + + return tarefasConcluidas; + } + + public Set obterTarefasPendentes(){ + Set tarefasPendentes = new HashSet<>(); + + for (Tarefa tarefa : listaDeTarefas){ + if (!tarefa.isConcluida()){ + tarefasPendentes.add(tarefa); + } + } + + return tarefasPendentes; + } + + public void marcarTarefaConcluida(String descricao){ + for (Tarefa tarefa : listaDeTarefas){ + if (tarefa.getDescricao().equalsIgnoreCase(descricao)){ + tarefa.setConcluida(true); + break; + } + } + } + + public void marcarTarefaPendente(String descricao){ + for (Tarefa tarefa : listaDeTarefas){ + if (tarefa.getDescricao().equalsIgnoreCase(descricao)){ + tarefa.setConcluida(false); + break; + } + } + } + + public void limparListaTarefas(){ + listaDeTarefas.clear(); + } + + public static void main(String[] args) { + // Criando uma instância da classe ListaTarefas + ListaTarefas listaTarefas = new ListaTarefas(); + + // Adicionando tarefas à lista + listaTarefas.adicionarTarefa("Estudar Java"); + listaTarefas.adicionarTarefa("Fazer exercícios físicos"); + listaTarefas.adicionarTarefa("Organizar a mesa de trabalho"); + listaTarefas.adicionarTarefa("Ler livro"); + listaTarefas.adicionarTarefa("Preparar apresentação"); + + // Exibindo as tarefas na lista + listaTarefas.exibirTarefas(); + + // Removendo uma tarefa + listaTarefas.removerTarefa("Fazer exercícios físicos"); + listaTarefas.exibirTarefas(); + + // Contando o número de tarefas na lista + System.out.println("Total de tarefas na lista: " + listaTarefas.contarTarefas()); + + // Obtendo tarefas pendentes + System.out.println(listaTarefas.obterTarefasPendentes()); + + // Marcando tarefas como concluídas + listaTarefas.marcarTarefaConcluida("Ler livro"); + listaTarefas.marcarTarefaConcluida("Estudar Java"); + + // Obtendo tarefas concluídas + System.out.println(listaTarefas.obterTarefasConcluidas()); + + // Marcando tarefas como pendentes + listaTarefas.marcarTarefaPendente("Estudar Java"); + listaTarefas.exibirTarefas(); + + // Limpando a lista de tarefas + listaTarefas.limparListaTarefas(); + listaTarefas.exibirTarefas(); + } + +} diff --git a/src/develop/java/set/pesquisa/ListaDeTarefas/Tarefa.java b/src/develop/java/set/pesquisa/ListaDeTarefas/Tarefa.java new file mode 100644 index 0000000..4a77432 --- /dev/null +++ b/src/develop/java/set/pesquisa/ListaDeTarefas/Tarefa.java @@ -0,0 +1,52 @@ +package develop.java.set.pesquisa.ListaDeTarefas; + +import java.util.Objects; + +public class Tarefa { + private String descricao; + private boolean concluida; + + public Tarefa() { + } + + public Tarefa(String descricao, boolean concluida) { + this.descricao = descricao; + this.concluida = concluida; + } + + @Override + public String toString() { + return "\n Tarefa {" + + "descricao='" + descricao + '\'' + + ", concluida=" + concluida + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Tarefa tarefa)) return false; + return Objects.equals(getDescricao(), tarefa.getDescricao()); + } + + @Override + public int hashCode() { + return Objects.hash(getDescricao()); + } + + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public boolean isConcluida() { + return concluida; + } + + public void setConcluida(boolean concluida) { + this.concluida = concluida; + } +} diff --git a/src/main/java/set/Ordenacao/Produto.java b/src/main/java/set/Ordenacao/Produto.java index d48d34c..ee677b7 100644 --- a/src/main/java/set/Ordenacao/Produto.java +++ b/src/main/java/set/Ordenacao/Produto.java @@ -53,11 +53,11 @@ public int hashCode() { @Override public String toString() { return "Produto{" + - "codigo=" + codigo + + " codigo=" + codigo + ", nome='" + nome + '\'' + ", preco=" + preco + ", quantidade=" + quantidade + - '}'; + "}"; } }