Aprenda a fazer REDUCE em STREAMS do JAVA 8!

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ม.ค. 2025

ความคิดเห็น • 58

  • @ramos.felipe
    @ramos.felipe ปีที่แล้ว +2

    Que didática top cara!
    Descobri recentemente e me ajudou bastante. A comunidade precisa de pessoas assim disseminando conhecimento. Valeu e parabéns!!!

  • @yujiendo7230
    @yujiendo7230 3 ปีที่แล้ว +8

    Cara, como eu conheci esse canal só agora?
    Tá de parabéns cara... Estou aprendendo muito com seus vídeos.

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +3

      Fico feliz em saber! Compartilha com os amigos! :D

  • @BrunoCattanYmr
    @BrunoCattanYmr 4 ปีที่แล้ว +12

    Cara: Didática e tranquilidade para explicar impecáveis!!
    Meus parabéns!
    Sempre tive dúvida em relação as outras sobrecargas do 'reduce' e depois deste vídeo, mais claro impossível.
    Valeu demais!
    Abraços

    • @rinaldodev
      @rinaldodev  4 ปีที่แล้ว +4

      Valeu, Bruno! Muito bom receber esse feedback!

  • @TheMaxwell880
    @TheMaxwell880 3 ปีที่แล้ว +3

    Cara muito bom seus conteúdos, sou Dev júnior de experiência e trabalho dando manutenção de projetos antigos , e esses conteúdos que você vem disponibilizando aqui na web vem me ajudando muito a evoluir.

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Valeu, Maxwell! Muito bom saber!

  • @marcoantonio-tz5wk
    @marcoantonio-tz5wk ปีที่แล้ว +2

    muito bom!

  • @matheusrubens3844
    @matheusrubens3844 3 ปีที่แล้ว +3

    Cara, muito obrigado!
    Sua didática é muito boa, eu não estava conseguindo entender esse reduce mais complexo que recebe 1 BiFunction e 1 BinaryOperator, mas depois de assistir seu video eu entendi!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Obrigado, Matheus! Muito bom saber que foi útil!

  • @Airton8
    @Airton8 2 ปีที่แล้ว +2

    Você é excelente, Rinaldo!

  • @sergioaraujo9886
    @sergioaraujo9886 10 หลายเดือนก่อน

    Suas explicações são excelentes. Obrigado e parabéns.

  • @JeffersonLuizCruz
    @JeffersonLuizCruz ปีที่แล้ว +2

    top

  • @jeffersondlopes01
    @jeffersondlopes01 2 ปีที่แล้ว +2

    muito bom

  • @rcrubellati
    @rcrubellati 3 ปีที่แล้ว +2

    excelente!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Que bom que aproveitou!

  • @paulovictorsilvafernandes1148
    @paulovictorsilvafernandes1148 ปีที่แล้ว +1

    show demais, ótima didática. parabéns.

    • @rinaldodev
      @rinaldodev  ปีที่แล้ว +1

      Bons estudos, Paulo! Da uma olhada nas outras playlists e nos conteúdos exclusivos! :)

  • @zamai31
    @zamai31 2 ปีที่แล้ว +2

    Muito bom!!

  • @rharisonl
    @rharisonl 11 หลายเดือนก่อน

    Valeu mano, parabéns pelo vídeo muito F#oda

  • @JulioMendes90
    @JulioMendes90 5 ปีที่แล้ว +3

    Exemplos práticas e boa didática. Parabéns, Rinaldo! Abs

    • @rinaldodev
      @rinaldodev  5 ปีที่แล้ว +2

      Muito obrigado, Júlio!

  • @alexandremv2011
    @alexandremv2011 2 ปีที่แล้ว +1

    Muito clara a explicação.

  • @ronaldomarques8961
    @ronaldomarques8961 4 ปีที่แล้ว +3

    Parabéns! Gostei do teu estilo 👏🏼👏🏼👏🏼

    • @rinaldodev
      @rinaldodev  4 ปีที่แล้ว +1

      Obrigado, Ronaldo! Que bom que curtiu!

  • @leandromangieri4724
    @leandromangieri4724 4 ปีที่แล้ว +1

    Vídeo extremamente didático Man !!

    • @rinaldodev
      @rinaldodev  4 ปีที่แล้ว

      Valeu pelo feedback, Leandro! Espero que tenha ajudado!

  • @joaosouz
    @joaosouz 4 ปีที่แล้ว +2

    Rinaldo, muito obrigado. Vídeo muito esclarecedor. Você tem uma ótima didática. Creio que deveria estar monetizando esses vídeos na Udemy. Parabéns!

    • @rinaldodev
      @rinaldodev  4 ปีที่แล้ว

      Valeu, João! Talvez eu faça alguma coisa por lá, ainda estou avaliando.

  • @JoseAugustodeMelo
    @JoseAugustodeMelo 5 ปีที่แล้ว +2

    Rinaldo, muito obrigado! Seus vídeos têm sido esclarecedores! Um abraço!

    • @rinaldodev
      @rinaldodev  5 ปีที่แล้ว

      Valeu, José! Se puder compartilhar com seus colegas, vamos esclarecer para mais pessoas! :D

  • @asbarbosas6119
    @asbarbosas6119 3 ปีที่แล้ว +1

    Que didática excelente! Obrigada!

  • @allanbraga1775
    @allanbraga1775 3 ปีที่แล้ว +1

    Excelente vídeo, conteúdo top!!!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Valeu, Allan! Da uma olhada nos outros conteúdos que tem coisa bem legal!

  • @SillasG
    @SillasG 11 หลายเดือนก่อน

    Obrigado pelo contéudo

  • @rafaelsoutodasilva2162
    @rafaelsoutodasilva2162 4 ปีที่แล้ว +1

    Muito bom, explicou muito bem, ainda que nós da TI somos unidos, se não, não teríamos a ajuda de gente como você para nos socorrer kk!

  • @juanvictorDev
    @juanvictorDev ปีที่แล้ว

    q aula massa

  • @joaof.guimaraes2515
    @joaof.guimaraes2515 4 ปีที่แล้ว

    Muito bom...E como sempre ...nota 10...

    • @rinaldodev
      @rinaldodev  4 ปีที่แล้ว

      Que bom que tá curtindo, Joao!! Valeu!

  • @AndersonMarquesss
    @AndersonMarquesss 5 ปีที่แล้ว +2

    Muito bom.

    • @rinaldodev
      @rinaldodev  5 ปีที่แล้ว

      Valeu, Anderson!

  • @felipegadelha2752
    @felipegadelha2752 5 ปีที่แล้ว +2

    acabei de me inscrever no canal ótimo conteúdo, Parabéns

    • @rinaldodev
      @rinaldodev  5 ปีที่แล้ว +1

      Valeu, Felipe! Muito bom poder ajudar! Se puder compartilhar com seus colegas, agradeço!

    • @felipegadelha2752
      @felipegadelha2752 5 ปีที่แล้ว

      Pode deixar 😁👍

  • @drapala97
    @drapala97 9 หลายเดือนก่อน

    o reduce não necessariamente executa de modo sequencial, por isso a necessidade de a operação binária ser associativa

  • @davipessoa7840
    @davipessoa7840 3 ปีที่แล้ว +1

    Queria tirar um dúvida: vi alguns exemplos na internet a respeito de aprender o reduce e vi em um exemplo que o cara passava dentro do stream o array. Segue o código:
    int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int max = Arrays.stream(numbers).reduce(0, (a, b) -> a > b ? a : b); // 10
    Note que há diferenças entre com oestão os exemplos no vídeo e aqui (no caso o "Arrays" no que, indo pela lógica do vídeo, seria, no meu exemplo, o "numbers").
    Minha pergunta é: quando e por qual motivação eu passaria ou não o array dentro de um stream neste caso ou em qualquer outro caso.

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Fala, Davi.
      É importante separar os conceitos. O Stream é uma série de operações que vão sendo aplicadas a cada elemento.
      A ORIGEM dos dados do Stream, ou seja, quais elementos ele vai tratar, pode ser qualquer coisa. Inclusive tem um vídeo que eu ensino a criar Streams a partir de vários tipos/fontes de dados diferentes: th-cam.com/video/GXfPBb-8YOE/w-d-xo.html
      Ou seja, se a origem dos dados é uma lista, um array, linhas de um arquivo ou números aleatórios, isso não importa. O Stream é apenas a sequência de operações que é aplicada a esse conjunto de dados. Você vai utilizar quando essas operações são úteis para o problema que você quer resolver.
      Não sei se está acompanhando a playlist do começo, mas acho que clareia esses aspectos. :)

    • @davipessoa7840
      @davipessoa7840 3 ปีที่แล้ว

      @@rinaldodev obrigado por responder em primeiro lugar. O conceito de que stream me permite utilizar uma série de funções e creio que compreendo em algum grau. Minha questão inicial é por que no exemplo que citei aqui o cara passa o array dentro da stream e, na maioria das vezes que vejo e faço esse array é da firma como abordou no vídeo. E vou conferir a série de vídeos, sim 😁

  • @tiagocorrea2163
    @tiagocorrea2163 2 ปีที่แล้ว +1

    O valor de identidade transforma o valor de retorno naquele tipo de valor passado?
    No caso, se o valor de identidade for inteiro (0 por exemplo), é por isso q eu tenho um integer e não um optional?

  • @catipedro
    @catipedro 3 ปีที่แล้ว +1

    Rinaldo, tem como colocar 2 reduces em um só syntax... se quero por exemplo, o minimo e o maximo valor de uma lista. Obrigado

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +2

      Olá, Pedro. Não faz sentido, por dois motivos:
      - Reduce é uma operação Final, ou seja, depois dela o Stream está finalizado.
      - A entrada de um reduce é um conjunto de dados, e a saída é um único dado, ou seja, não da pra "encaixar" mais um reduce.
      É importante conseguir visualizar o Stream como um fluxo de dados, e perceber cada operação que está sendo aplicada.
      Não sei se já fez, mas recomendo assistir a playlist toda, na sequência, pra construir essa visão.

  • @Cecil_Augus
    @Cecil_Augus ปีที่แล้ว +1

    19:39 não acredito que ele perdeu a chance de falar "doublezinho" 😢

  • @tiagocorrea2163
    @tiagocorrea2163 2 ปีที่แล้ว

    Oi. Intstream é a mesma coisa que pegar o array de stream e fazer .stream()?

    • @rinaldodev
      @rinaldodev  2 ปีที่แล้ว

      IntStream é um Stream de primitivos do tipo int.

  • @netosantos1054
    @netosantos1054 4 ปีที่แล้ว +1

    O mais engraçado é que o Java 8 tem tanta coisa, e já estamos no java 13. Aí aparece uma galera falando que o java vai morrer, kkkkkkkkkkkkkkkkkkk

    • @rinaldodev
      @rinaldodev  4 ปีที่แล้ว +1

      Pra você ver, Neto! Java é uma linguagem super sólida, e que está dando saltos nessas últimas atualizações!