Ciao, questo non lo voglio fare.
E bentornato.
Non estendere la demo dalla lezione precedente in cui stavamo raggruppando un flusso fuori dagli elementi e abbiamo
esaminato i due metodi per mappare e raggruppare in base alla classe dei collezionisti.
Questi metodi restituivano un'istanza dell'interfaccia del raccoglitore utilizzata dal colore per raggruppare
gli elementi del flusso.
Questi metodi sono stati davvero interessanti perché ci stavano aiutando a raggruppare gli elementi della collezione.
E lo stavamo facendo in modo dichiarativo.
Quindi prima dell'8 luglio dovevamo farlo con uno stile imperativo di codifica che noi conosciamo come ingombrante.
Quindi questi metodi ci stavano aiutando a farlo in un modo molto elegante in uno stile dichiarativo.
Quindi abbiamo esaminato questi due metodi.
E in questa lezione particolare osserveremo il raggruppamento per metodo.
Quindi abbiamo finito con l'esame del metodo della mappa.
Quindi ora l'attenzione sarà concentrata solo in base al gruppo e esamineremo il suo quoziente sovraccarico.
Quindi abbiamo esaminato la prima versione dell'ultima lezione.
Ora esamineremo la seconda domanda e ci aiuterebbe a generare mappe più sofisticate.
Quindi una delle cose che possiamo fare è che possiamo generare mappe multilivello in modo che possiamo fare raggruppamenti a più
livelli, il che significa che possiamo mappare mappe.
Quindi, in generale, se hai una mappa che valuti coppie che raggruppano il Narberth, il valore può essere
il Dharma.
Quindi questa è una cosa che vedremo.
Ma ancora più importante vedremo anche che possiamo generare sommari dei valori.
Quindi abbiamo le coppie di valori chiave e il valore se vogliamo riepilogare l'elenco di valori associati a una
particolare chiave, quindi possiamo usare il secondo movimento del raggruppamento per.
E quindi vedremo anche questo.
Questa è la parte interessante.
Diamo un'occhiata a ciò che abbiamo avuto nella lezione precedente.
OK.
Quindi alla fine abbiamo guardato questo.
Quindi stavamo raggruppando il flusso di elementi in base alle valutazioni e abbiamo esaminato il raggruppamento di Mehtar e stavamo generando
e mappando il doppio e un elenco di libri raddoppiato dato che la valutazione e l'elenco dei libri sono l'elenco
di libri che rientrano in ciascuno di quelle valutazioni.
Destra.
Quindi questo è ciò che abbiamo visto e il pregiudizio del raggruppamento qui.
Quindi il fatto è che se una determinata valutazione ha solo un singolo libro, il valore sarebbe almeno pari.
Quel singolo libro.
Ora se ci sono più libri con lo stesso punteggio, quei libri verranno accumulati in quella
lista.
Quindi, ciò significa che se abbiamo più libri con lo stesso punteggio, ci sarà una collisione
di cookie e una strategia di risoluzione delle collisioni.
In questo caso è di accumularli in una lista e questo viene fatto in modo implicito.
Ora guardiamo anche alla stessa logica usando per mappare qui, quindi realizziamo la stessa cosa usando una
buona mappa ma con mappa dobbiamo specificare esplicitamente la strategia di risoluzione delle collisioni.
Se ricordate che abbiamo avuto tutte queste spedizioni e questo era ingombrante ma con il raggruppamento non
dovevamo farlo.
Quindi è stata presa in considerazione la strategia di risoluzione collisione implicitamente inadempiente da accumulare
e almeno.
OK, quindi la cosa è
Questa è la differenza principale.
Per mappare il video non come una strategia predefinita di risoluzione delle collisioni, dobbiamo specificarlo esplicitamente.
E così l'abbiamo definita una funzione di fusione, si chiama una funzione di fusione e l'abbiamo eseguita
qui in Securitas.
Ora se non si fornisce questo tipo di strategia di risoluzione delle collisioni e se c'è una collisione
abbiamo anche visto che genererà durante l'eccezione di stato illegale chiamata eccezione di runtime.
Quindi, se stiamo usando per mappare e se ci aspettiamo che si verifichi una sorta di collisione, dobbiamo fornire
questo.
Altrimenti finiremo con un altro.
Quindi mappare è buono se generiamo coppie di valori chiave semplici e non ti aspetti alcuna collisione.
Ma se pensate che ci saranno delle collisioni, allora è meglio fare questo raggruppamento
ed è un'implementazione molto semplice.
OK.
Ora ci sono anche versioni sovraccaricate del raggruppamento.
E se vuoi cambiare la strategia di risoluzione collisione predefinita, vediamo se vuoi accumulare un
set, quindi possiamo usare la versione sovraccaricata del raggruppamento per.
Diamo un'occhiata al sovraccarico di Roshan qui.
Quindi questa è l'API fuori dalla classe dei collezionisti e possiamo vedere il raggruppamento per metodi qui.
Quindi questa è la prima versione che abbiamo già visto.
Qui prende solo una funzione e sta chiamando il classificatore, ma è qui per identificare le
chiavi.
Quindi ci aiuterà a classificare il gruppo di elementi basandoci su alcune chiavi in modo che egli sia ciò che viene
identificato in questa funzione.
Poi ci sono queste due o versioni caricate.
E questo è ciò che vedremo e guarderemo anche a questo.
È solo un'estensione semplice, ma questa richiede solo due parametri.
Questo sta prendendo tre parametri.
Quindi, oltre alla funzione qui il classificatore qui c'è un altro collezionista, basta ricordare quel raggruppamento da qui che si
fa in un collezionista.
E il primo barometro è spento per funzione che identifica la chiave e il secondo parametro è
un altro collettore.
Raccoglierà essenzialmente i valori associati all'heap.
OK.
Quindi eseguirà un altro giro di raccolta su quegli elementi del flusso.
Ora qui puoi specificare qualcosa come hai detto, se chiami quella lista di cose
da non perdere abbiamo anche il problema dell'uso se passi qui Doucette, allora i valori saranno accumulati e impostati.
Quindi questo è qualcosa che vedremo ora Allo stesso modo che hai le coppie di valori chiave e stiamo dicendo
che questo collezionista sarà un giocatore sui valori.
Quindi, se vuoi riassumere quei valori, puoi usare un certo collector per quello.
Quindi, per esempio, stavamo raggruppando il flusso di libri per valutazione.
Quindi per una valutazione particolare avremo alcuni libri e se vogliamo ottenere il prezzo
medio di tutti quei libri, allora possiamo riassumere usando un metodo qui la media delle auto.
OK.
Dato che il prezzo è doppio, possiamo usare la media del doppio.
Ma ci sono anche altre varianti come la media e la media più lunghe.
Ecco come è possibile riepilogare l'elenco di valori associati alle chiavi.
E ci sono anche altri metodi come la somma e la media.
Abbiamo anche qualcosa di lungo in qualcosa e qualcosa che è raddoppiato in quel momento, che è max dagli uomini con cui può essere
usato per trovare il non farlo fuori dai valori, e questo è anche contare che guardiamo anche al conteggio.
Quindi ci dirà la dimensione dell'elenco di valori associati alle chiavi.
OK.
Quindi possiamo usare possiamo generare quei tipi di riepiloghi per altri valori usando questa seconda versione
del raggruppamento.
Quindi il chiamante si siede il collezionista a valle e questi sono metodi piuttosto diversi.
E dovresti dare un'occhiata a loro.
E in questa demo vedremo anche un'altra questione.
Il partizionamento mediante partizionamento genera anche una mappa ma genera solo due mappature.
Quindi richiede un predicato e in base al predicato genera due mappature su una di esse.
Una delle mappe avrà una chiave come il valore true iron tutti i valori tutti gli elenchi di tutti
gli elementi associati a quel particolare valore booleano.
Quindi può essere che le chiavi siano solo vere o false e che siano associate a certi valori
quelle chiavi saranno associate a determinati valori.
Quindi questo è il partizionamento, quindi guarderemo anche al partizionamento.
Quindi andiamo avanti qui e la prima cosa è andare avanti e cambiare questo sottotitolo
o scavare il tutto.
Ora si chiama due.
Quindi, per prima cosa, cambiamo la strategia predefinita di risoluzione delle collisioni e viene raccolta in un set.
E abbiamo detto che abbiamo bisogno di usare la versione sovraccaricata di questo.
Quindi qui diremo di impostare e questo sarebbe stato impostato.
OK.
Quindi questo viene dalla classe dei collezionisti.
Quindi c'è un'importazione statica di questo e qui questo sarebbe due e questo sarebbe stato impostato.
E stai semplicemente stampando valori qui.
Ora basta notare che internamente la prima parte del raggruppamento da parte degli utenti di questa particolare versione
ma implicitamente passerebbe a Boulis.
Quindi questa è la ragione per impostazione predefinita che otterrà un elenco di libri qui.
Quindi lasciami correre.
Ecco qui.
Quindi è solo la stampa dei valori su tutto va bene qui.
Ora vediamo.
Questo in realtà restituisce una mappa hash.
Ora diciamo che preferiamo una mappa ad albero.
Quindi la terza versione del raggruppamento verrà utilizzata qui come terza versione.
Questa e questa terza versione attacca solo un fornitore.
Quindi andando a fornire una mappa ad albero.
Quindi diremmo che lei mappa.
Quindi questo è il riferimento costrittore.
Quindi ora se vedi i valori saranno ordinati per valutazione qui è.
Ora puoi vedere che ci sono griglie diverse già in ordine ascendente perché stiamo usando
la tree map 3. 9 4. 1 e così via 0. 3 e così via.
Ecco come utilizzeresti una diversa strategia di risoluzione delle collisioni.
Ora concentriamoci sulla parte samadhi sul riepilogo dei valori associati a questi e diciamo che
vogliamo ottenere le colonne associate a ciascuna delle valutazioni.
Quindi stiamo raggruppando per rating e quelle valutazioni ciascuna di queste valutazioni su come certi libri che rientrano in
tale rating.
E vogliamo ottenere un conteggio di ognuno di quei libri appena fuori dai libri.
Quindi
è una grande congettura, no, chiamiamola come una chiamata di voti in questa parte, è la stessa cosa non qui diciamo
figlia del collezionista.
E qui il conteggio era finito e lungo.
Quindi questo è ciò che noi come.
Facciamo semplicemente stampare la mappa direttamente in modo che si stringa il metodo sulla mappa.
Quindi vediamo solo come li ha stampati con un bulldozer.
Voglio dire, questo è il futuro.
Ed eccolo qui.
E puoi vedere che il Khond usa fino ad ora il punteggio 4. 5 ci sono due libri per la valutazione quattro punti
nove che sono per quattro libri OK.
Ecco come lo faresti.
E il conteggio che viene scritto è un raccoglitore, il che significa che può anche essere usato direttamente con le
metriche Collect.
Destra.
Perché il calorimetro prende anche il collettore.
E infatti è quello che sta succedendo qui.
Il raggruppamento sta mantenendo un collezionista.
OK.
Quindi questo può essere usato anche al di fuori del raggruppamento per materia.
Quindi lascia che te lo mostri.
Si chiama nella sua palude.
Quindi ci sono 13 libri nel flusso.
Quindi può anche essere usato al di fuori di quello.
Quindi questo è chiamato.
Ora riassumiamo i valori usando la nostra età.
Quindi prendiamo la media sul prezzo di tutti i libri associati a una particolare chiave.
OK.
Quindi ancora una volta è Digg quello è bhakt.
Quindi dobbiamo usare il nostro doppio invecchiamento e potrebbe
essere basato sul prezzo.
Quindi usiamo il doppio perché qui i posti ottengono il metodo del prezzo.
B-doppio Si chiama perché io uso il mio quindi sei solo così hai
la media di quattro virgola novecentoquattro libri.
Quindi questa è la media del prezzo di quei quattro libri.
Ora allo stesso modo c'è anche qualcosa di fattibile.
Puoi anche farlo.
E come ho detto ci sono anche altre varianti.
Come potrebbe un Internet raggiungere a lungo.
Inoltre, diciamo che vuoi ottenere il prezzo minimo da tutti i libri.
Quindi scaviamo questo in un gioco.
Questo è leggermente diverso in quanto restituirebbe un optional.
Quindi sarebbe opzionale del libro con il prezzo più basso.
Questo è chiamato un prezzo minimo Nicopolis.
Significa, ma ovviamente ha bisogno di un concorrente in modo che possiamo usare un metodo statico nella comparazione
delle carte dell'interfaccia della concorrenza.
OK.
Possiamo usare questo confronto tra doppie e medie in realtà lo useremmo.
Quindi, confrontando il doppio dell'estrattore, ancora una volta avete detto
voi.
Quindi, come gli uomini di là è anche max di Unidas.
Quindi questo è un quattro punto otto e un optional.
Quindi il libro viene ucciso con l'opzione oggetto opzionale.
E questo è quello.
E questo è il libro che ha il prezzo più basso.
E allo stesso modo per quattro virgola nove quattro quattro virgola cinque ci sono due libri su quattro quattro virgola
nove ci sono quattro libri su di essa sceglierebbe quello con il prezzo più basso.
Quindi questi sono tutti i diversi metodi di sintesi che possono essere utilizzati contando Vorrei raddoppiare il
doppio o qualcosa di doppio sono uomini da RMX ormai c'è anche un altro metodo che può incapsulare tutti questi
valori.
Quindi c'è un singolo oggetto che può essere generato usando uno dei metodi ed è anche un po
'come farlo.
Quindi permettimi di copiare questo valore in questo riepilogo a
barre, riassumendo il doppio perché colloca ciò che vogliamo prendere e vogliamo mettere a confronto i diversi tipi di riepiloghi
sul doppio del riepilogo
dei prezzi.
Ha detto che questa cosa chiamata qualcuno raddoppia le statistiche di qualcuno.
State sintetizzando e sarebbe nel torto artistico di qualcuno qualcuno avviare serpenti ed
è la vera modalità bellezza qui su CNN.
Quindi questo è prendre.
Quindi eccolo qui.
Quindi quattro quattro punti otto. Dice che il doppio sommario inizia a bastoni.
E stampa tutti i diversi valori di qualcuno e la colonna.
Alcuni uomini della nostra età su Mac e guardiamo a quattro quattro virgola nove.
Uniters o nove.
Il cono per alcuni è 195.
Quindi è la somma di tutti e quattro i libri che rientrano in questa classificazione 4. 9 uomini medi e max.
OK, quindi il posto massimo è 60.
Come avrei solo quarantotto virgola sette cinque.
Ecco come lo faresti.
Quindi questo è il raggruppamento ormai.
Diamo un'occhiata al partizionamento partendo così da.
Scaviamo
questo genererà ancora una mappa.
Ma ci vorrebbe invece di raggruppare da qui.
Ma come partizionare, diciamo, ci vuole
un predicato.
Quindi diciamo che vogliamo suddividere il flusso di elementi in due gruppi, uno su come eseguire l'orazione maggiore o uguale
al quattro punto cinque.
E l'altro gruppo ha meno di 1 5 letti
e un booleano.
Quindi il valore chiave potrebbe essere vero o falso.
E qui sarà la
tua ipotesi.
Quindi tu quanto falso qui e la lista dei libri di libri sotto falso.
E hai anche una lista di libri per Drew.
Unidas.
Inizia con.
Quindi hai solo due mappature.
OK uno con vero e uno con falso.
Ora questa è una versione di partizionamento di.
E questa è anche una versione sovraccaricata del partizionamento con la quale prende un collettore
downstream per raccogliere i valori e fare qualcosa di diverso come produrre qualcuno o generare un set o qualcosa
del genere.
Quindi, proprio come il raggruppamento, disponiamo anche di una lavatrice sovraccaricata per il partizionamento di.
Quindi questo è un bedacht.
E possiamo anche realizzare la stessa cosa usando il raggruppamento.
Quindi puoi avere una questione che avrebbe un predicato che userebbe un predicato e sarebbe di genere.
Vero o falso, ma si dice che questo partizionamento è leggermente più efficiente quando si tratta di generare un
tipo di tale tipo di mappatura.
OK.
E un'altra differenza sarebbe che Safian è questo quattordici punto cinque.
Quindi in questo caso l'equipaggio vedrà come un valore di A e B.
Perché non ci sono libri con quel tipo di valutazione, quindi sono falsi come tutti i libri nello stream.
Perché tutti loro sono meno di quattordici punti cinque.
Ma abbiamo ancora una mappatura per vero.
Ora se leggi il raggruppamento non avresti questo tipo di mappatura, vedresti come qualcuno potrebbe essere
OK.
Quindi questa è un'altra differenza tra di loro, ma il partizionamento per questo tipo di
mappatura è considerato leggermente più efficiente.
Quindi fammelo cambiare.
Ora un'ultima cosa che voglio mostrare così.
Qui abbiamo sempre almeno un libro libero.
Ora se vuoi, se vogliamo una lista di diciamo per esempio solo i titoli.
OK, abbiamo la nostra lista di libri di libri per una lettura particolare, ma invece
di averla come una lista di libri e se vogliamo una lista di elementi che abbiamo finora, possiamo
usare un altro metodo chiamato Mappatura che mapperebbe quei libri in un stringa e si accumulerà e fare una lista.
OK, allora facciamolo.
Quindi fammi copiare tutto questo.
Quindi questo è l'ultimo che testerai qui.
Raggruppando per valutazione, ma stiamo utilizzando la domanda caricata per ordine.
Quindi c'è la mappatura dei punti di questo collezionista.
Questo è ciò che i tuoi obiettivi sono nel mondo della mappatura.
Useremmo la fonte.
Quindi il libro sarebbe stato convertito in fonte per quei libri ed è davvero positivo che l'abbia fatto.
Quindi, il Titan che puoi usare fa la lista.
Quindi dopo la mappatura saranno messi in una lista.
OK, quindi sarebbe strano qui perché inizia a provare Lizenz.
Si chiama rilettura che scrive i mezzi cartografici e usa un singolo set di mezzo terreno.
Quindi ora hai quattro punti otto e due due sei quattro quattro quattro nove qui.
Questo è quello che abbiamo.
Quindi è così.
Ecco come si converte dal tipo di flusso in un altro tipo di gioco.
Alcuni chiamano che useresti un argomento di mappatura che ha anche aggiunto un
collector che è ciò che è necessario per il raggruppamento per metodo o il secondo del raggruppamento per metodo un'ultima cosa che non sono ancora
sicuro come gruppo a più livelli che io menzionato prima.
Quindi lascia che ti mostri anche questo.
Quindi abbiamo questi raggruppamenti per valutazione ora all'interno di una valutazione particolare.
Diciamo che vogliamo raggruppare dalla fonte di origine può essere che Amazon o Barnes and Noble.
Quindi diciamo che se vuoi farlo allora possiamo fare una copia dall'aspetto multi-livello,
come Amazon è una stringa
e all'interno di quel gruppo abbiamo questo raggruppamento da parte di Sun, voglio dire, copia questo così all'interno di questo gruppo
dalla terza alla seconda parametro sarebbe qualcosa di simile.
Looping di.
Quindi questo qui stiamo raggruppando per fonte Soss Amazon o Barnes Noble e
vogliamo raggrupparli in Nancy.
Ed è così difficile prendre qui che
esegue mappature multi-livello punto otto e Amazon e guardiamo a 4. 9 4. 5.
Ecco qui.
Abbiamo due libri uno di Barnes and Noble un altro di Amazon.
Quindi questa è una mappa con classificazione di primo livello e all'interno del quale stiamo avendo un'altra mappa.
Ecco come si genera una mappa multilivello e il raggruppamento multilivello viene eseguito in questo modo.
Quindi questo è tutto.
Quindi questo riguarda il raggruppamento in base a come considerare i metodi di qualcuno come possiamo riassumere i valori.
E abbiamo finalmente visto come possiamo generare una mappa multilivello.
OK.
Questo è un raggruppamento multilivello.
E guardiamo anche al partizionamento per metodo.
E la mappa è utile soprattutto se vogliamo generare coppie di valori chiave semplici in cui non
ci aspettiamo cookie di collisione.
Quindi è così.
Grazie.
E felice codifica.