Differenza tra collect() e reduce()

di il
2 risposte

Differenza tra collect() e reduce()

Ciao ragazzi, sapete la differenza tra questi due metodi?

2 Risposte

  • Re: Differenza tra collect() e reduce()

    marcop97 ha scritto:


    Ciao ragazzi, sapete la differenza tra questi due metodi?
    Se ti riferisci alla nuova Stream API di Java 8, collect e reduce sono entrambe delle forme di "riduzione", detto come concetto in generale. Ma con una differenza importante. Il collect permette una mutable reduction ovvero consente di mantenere dello stato "mutabile" durante la riduzione. Pensa banalmente ad una implementazione di un Collector che crea un ArrayList (struttura mutabile) inserendoci gli elementi dallo stream.

    Mentre invece reduce è una forma di riduzione più "stretta", in cui partendo da un (eventuale) valore iniziale, si applica una funziona "binaria" di accumulatore applicata in sequenza per arrivare ad ottenere un valore finale.
  • Re: Differenza tra collect() e reduce()

    andbin ha scritto:


    marcop97 ha scritto:


    Ciao ragazzi, sapete la differenza tra questi due metodi?
    Se ti riferisci alla nuova Stream API di Java 8, collect e reduce sono entrambe delle forme di "riduzione", detto come concetto in generale. Ma con una differenza importante. Il collect permette una mutable reduction ovvero consente di mantenere dello stato "mutabile" durante la riduzione. Pensa banalmente ad una implementazione di un Collector che crea un ArrayList (struttura mutabile) inserendoci gli elementi dallo stream.

    Mentre invece reduce è una forma di riduzione più "stretta", in cui partendo da un (eventuale) valore iniziale, si applica una funziona "binaria" di accumulatore applicata in sequenza per arrivare ad ottenere un valore finale.
    Grazie!
Devi accedere o registrarti per scrivere nel forum
2 risposte