From 627c34a1ea4c9b6e6aeefe99aa48018bfea316c9 Mon Sep 17 00:00:00 2001 From: diogodotum Date: Mon, 3 Oct 2022 17:20:11 -0400 Subject: [PATCH 1/3] draft: continuaar depois --- src/com/github/deividfrancis/Carrinho.java | 87 +++++++++++++++++++ src/com/github/deividfrancis/Produtos.java | 55 ++++++++++++ .../deividfrancis/{ => backup}/Main.java | 10 +-- .../deividfrancis/{ => backup}/Person.java | 4 +- 4 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 src/com/github/deividfrancis/Carrinho.java create mode 100644 src/com/github/deividfrancis/Produtos.java rename src/com/github/deividfrancis/{ => backup}/Main.java (91%) rename src/com/github/deividfrancis/{ => backup}/Person.java (88%) diff --git a/src/com/github/deividfrancis/Carrinho.java b/src/com/github/deividfrancis/Carrinho.java new file mode 100644 index 0000000..773a12d --- /dev/null +++ b/src/com/github/deividfrancis/Carrinho.java @@ -0,0 +1,87 @@ +package com.github.deividfrancis; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +public class Carrinho { + private static List produtoList = new ArrayList(); + + static { + produtoList.add(new Produtos(744, "Redragon Kumara" , 243.35, "Tecnologia", 'S')); + produtoList.add(new Produtos(850, "Redragon Cobra" , 190.20, "Tecnologia", 'S')); + produtoList.add(new Produtos(022, "SSD M.2" , 102.02, "Tecnologia", 'S')); + produtoList.add(new Produtos(848, "Monitor 24p 165hz" , 1153.0, "Tecnologia", 'N')); + produtoList.add(new Produtos(254, "Oculos de ciclismo" , 104.02, "Esporte" , 'S')); + produtoList.add(new Produtos(78, "Molinete de pesca" , 175.00, "Esporte" , 'N')); + produtoList.add(new Produtos(415, "Tenis allstar" , 167.00, "Vestuario" , 'S')); + produtoList.add(new Produtos(403, "Luva de motociclista" , 134.00, "Vestuario" , 'N')); + produtoList.add(new Produtos(625, "Chave de fenda magnética", 55.00, "Equipamentos", 'S')); + produtoList.add(new Produtos(573, "Tapete Geometrico", 114.00, "Lazer", 'S')); + } + + + public static void main(String[] args) { +// filtroTecnologia(); +// filtroEstoqueValor200(); +// filtroTemEstoque(); +// filtroEsporte(); +// filtroPrimeiraEquipamentos(); +// agrupaAlfabetica(); + } + + + private static void filtroTecnologia() { + List produtoTempList = Carrinho.produtoList.stream() + .filter(p -> "Tecnologia" == p.getCategoria()) + .collect(Collectors.toList()); + + System.out.println(produtoTempList); + } + + private static void filtroEstoqueValor200() { + List produtoTempList = produtoList.stream() + .filter(p -> 'S' == p.getTemEstoque() && p.getValor() > 200.00) + .collect(Collectors.toList()); + + System.out.println(produtoTempList); + } + + private static void filtroTemEstoque() { + List produtoTempList = produtoList.stream() + .filter(p -> 'S' == p.getTemEstoque()) + .collect(Collectors.toList()); + + produtoTempList.stream().forEach(p -> { + System.out.println(p.getNome()); + }); + } + + private static void filtroEsporte() { + Long produtoTempList = produtoList.stream() + .filter(p -> "Esporte" == p.getCategoria()) + .collect(Collectors.counting()); + + System.out.println(produtoTempList); + } + + private static void filtroPrimeiraEquipamentos() { + Produtos produtoTempList = produtoList.stream() + .filter(p -> p.getCategoria() == "Equipamentos") + .findFirst() + .orElse(null); + + System.out.println(produtoTempList); + } + + public static void agrupaAlfabetica() { + List produtoTempList = produtoList.stream() + .sorted((x1 , x2) -> x1.getNome().compareTo(x2.getNome())) + .toList(); + + System.out.println(produtoTempList); + } +} + + + diff --git a/src/com/github/deividfrancis/Produtos.java b/src/com/github/deividfrancis/Produtos.java new file mode 100644 index 0000000..0f4f32c --- /dev/null +++ b/src/com/github/deividfrancis/Produtos.java @@ -0,0 +1,55 @@ +package com.github.deividfrancis; + +import java.math.BigDecimal; + +public class Produtos { + private Integer id; + private String nome; + private Double valor; + private String categoria; + private char temEstoque; + + public Produtos(Integer id, String name, Double valor, String categoria, char temEstoque) { + this.id = id; + this.nome = name; + this.valor= valor; + this.categoria = categoria; + this.temEstoque = temEstoque; + } + + public Integer getId() { + return id; + } + public void setId(Integer id) { + this.id = id; + } + public String getNome() { + return nome; + } + public void setNome(String nome) { + this.nome = nome; + } + public Double getValor() { + return valor; + } + public void setValor(Double valor) { + this.valor = valor; + } + public String getCategoria() { + return categoria; + } + public void setCategoria(String categoria) { + this.categoria = categoria; + } + public char getTemEstoque() { + return temEstoque; + } + public void setTemEstoque(char temEstoque) { + this.temEstoque = temEstoque; + } + + @Override + public String toString() { + return "Produto [Id=" + id + ", Nome=" + nome + ", Valor=R$" + valor + ", categoria=" + categoria + ", temEstoque=" + temEstoque +"]\n\n"; + } +} diff --git a/src/com/github/deividfrancis/Main.java b/src/com/github/deividfrancis/backup/Main.java similarity index 91% rename from src/com/github/deividfrancis/Main.java rename to src/com/github/deividfrancis/backup/Main.java index 9a636cc..6b2acd4 100644 --- a/src/com/github/deividfrancis/Main.java +++ b/src/com/github/deividfrancis/backup/Main.java @@ -1,4 +1,4 @@ -package com.github.deividfrancis; +package com.github.deividfrancis.backup; import java.util.ArrayList; import java.util.Arrays; @@ -60,7 +60,7 @@ private static void groupByLambda() { imprimeTitulo("groupByLambda"); - // Objetivo é agrupar Person pelo sex + // Objetivo � agrupar Person pelo sex Map> personMap = personList.stream().collect(Collectors.groupingBy(Person::getSex)); @@ -72,7 +72,7 @@ private static void groupByLambda() { private static void groupByNormal() { imprimeTitulo("groupByNormal"); - // Objetivo é agrupar Person pelo sex + // Objetivo � agrupar Person pelo sex Map> personMap = new HashMap>(); @@ -96,7 +96,7 @@ private static void groupByNormal() { private static void filtroCompostoLambda() { imprimeTitulo("filtroCompostoLambda"); - // Objetivo é mostrar somente os nomes das person do sexo masculino com age maior que 22; + // Objetivo � mostrar somente os nomes das person do sexo masculino com age maior que 22; List nomes = personList.stream() .filter(p -> p.getSex() == 'M') @@ -112,7 +112,7 @@ private static void filtroCompostoLambda() { private static void filtroCompostoNormal() { imprimeTitulo("filtroCompostoNormal"); - // Objetivo é mostrar somente os nomes das person do sexo masculino com age maior que 22; + // Objetivo � mostrar somente os nomes das person do sexo masculino com age maior que 22; List nomes = new ArrayList(); diff --git a/src/com/github/deividfrancis/Person.java b/src/com/github/deividfrancis/backup/Person.java similarity index 88% rename from src/com/github/deividfrancis/Person.java rename to src/com/github/deividfrancis/backup/Person.java index a3bb65b..510d1ea 100644 --- a/src/com/github/deividfrancis/Person.java +++ b/src/com/github/deividfrancis/backup/Person.java @@ -1,4 +1,4 @@ -package com.github.deividfrancis; +package com.github.deividfrancis.backup; public class Person { @@ -13,7 +13,7 @@ public Person(Integer id, String name, char sex, Integer age) { this.sex = sex; this.age = age; } - + public Integer getId() { return id; } From ba45bb64da923b8dfd8331f4821d24c44f2b3dc1 Mon Sep 17 00:00:00 2001 From: diogodotum Date: Mon, 3 Oct 2022 18:00:43 -0400 Subject: [PATCH 2/3] draft --- src/com/github/deividfrancis/Carrinho.java | 31 +++++++++++++++++----- src/com/github/deividfrancis/Produtos.java | 2 +- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/com/github/deividfrancis/Carrinho.java b/src/com/github/deividfrancis/Carrinho.java index 773a12d..ef0c1ca 100644 --- a/src/com/github/deividfrancis/Carrinho.java +++ b/src/com/github/deividfrancis/Carrinho.java @@ -2,8 +2,11 @@ import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; +import com.github.deividfrancis.backup.Person; + public class Carrinho { private static List produtoList = new ArrayList(); @@ -22,12 +25,14 @@ public class Carrinho { public static void main(String[] args) { -// filtroTecnologia(); -// filtroEstoqueValor200(); -// filtroTemEstoque(); -// filtroEsporte(); -// filtroPrimeiraEquipamentos(); -// agrupaAlfabetica(); + // filtroTecnologia(); + // filtroEstoqueValor200(); + // filtroTemEstoque(); + // filtroEsporte(); + // filtroPrimeiraEquipamentos(); + // agrupaAlfabetica(); +// groupByCategoria(); + getMaiorValor(); } @@ -81,6 +86,20 @@ public static void agrupaAlfabetica() { System.out.println(produtoTempList); } + + public static void groupByCategoria() { + Map> produtoMap = produtoList.stream().collect(Collectors.groupingBy(Produtos::getCategoria)); + + System.out.println(produtoMap); + } + + private static void getMaiorValor() { + List produtoTempList = produtoList.stream() + .sorted((x1 , x2) -> x1.getValor().compareTo(x2.getValor())) + .toList(); + + System.out.println(produtoTempList); + } } diff --git a/src/com/github/deividfrancis/Produtos.java b/src/com/github/deividfrancis/Produtos.java index 0f4f32c..c79a843 100644 --- a/src/com/github/deividfrancis/Produtos.java +++ b/src/com/github/deividfrancis/Produtos.java @@ -50,6 +50,6 @@ public void setTemEstoque(char temEstoque) { @Override public String toString() { - return "Produto [Id=" + id + ", Nome=" + nome + ", Valor=R$" + valor + ", categoria=" + categoria + ", temEstoque=" + temEstoque +"]\n\n"; + return "Id=" + id + ", Nome=" + nome + ", Valor=R$" + valor + ", categoria=" + categoria + ", temEstoque=" + temEstoque +"\n\n"; } } From 7abcaea6218383f806844db6fb25ec3be7269ae1 Mon Sep 17 00:00:00 2001 From: Diguin Date: Mon, 3 Oct 2022 22:39:16 -0300 Subject: [PATCH 3/3] =?UTF-8?q?Feat:=20adiciona=20todos=20os=20m=C3=A9todo?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/github/deividfrancis/Carrinho.java | 27 ++++++++++++++++------ 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/com/github/deividfrancis/Carrinho.java b/src/com/github/deividfrancis/Carrinho.java index ef0c1ca..e8ccd55 100644 --- a/src/com/github/deividfrancis/Carrinho.java +++ b/src/com/github/deividfrancis/Carrinho.java @@ -1,8 +1,11 @@ package com.github.deividfrancis; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import com.github.deividfrancis.backup.Person; @@ -31,8 +34,9 @@ public static void main(String[] args) { // filtroEsporte(); // filtroPrimeiraEquipamentos(); // agrupaAlfabetica(); -// groupByCategoria(); - getMaiorValor(); + // groupByCategoria(); + // getMaiorValor(); + // getListIds(); } @@ -92,15 +96,24 @@ public static void groupByCategoria() { System.out.println(produtoMap); } - + private static void getMaiorValor() { - List produtoTempList = produtoList.stream() - .sorted((x1 , x2) -> x1.getValor().compareTo(x2.getValor())) - .toList(); + Optional produtoTempList = produtoList.stream() + .sorted((x1 , x2) -> x2.getValor().compareTo(x1.getValor())) + .findFirst(); + produtoTempList.stream().forEach(p -> { + System.out.println(p.getCategoria()); + }); + } + private static void getListIds() { + List produtoTempList = produtoList.stream() + .filter(p -> 850 == p.getId() || 403 == p.getId() || 625 == p.getId()) + .toList(); + System.out.println(produtoTempList); + } } -}