Ciao.
Questo è il giorno in cui Vienneau non interrompe che Djala è un linguaggio di programmazione orientato agli oggetti e sa molto bene
come la programmazione orientata agli oggetti aiuta a moderare gli scenari del mondo reale in un modo più naturale.
Destra.
Ma c'è anche un paradigma di programmazione per adulti chiamato linguaggi di programmazione funzionale come la
programmazione funzionale di Lisp Solander e la programmazione funzionale è tutta una questione di programmazione usando funzioni che è
metodo visto sulla terminologia Jawa.
La programmazione funzionale è spesso definita FP, così come la programmazione orientata agli oggetti ci
viene indirizzata e SB aiuta a scrivere codice compatto più codice Buckcherry su codice che è facilmente parallelizzabile, ma potrebbe non
essere buono come un linguaggio OOP nell'implementazione di scenari del mondo reale.
Ma hanno i loro vantaggi.
Come ho appena affermato, riuscire a scrivere compatte Backley non è parallelizzabile bene.
E sembra che siano molto bravi a scrivere compilatori, ma i paradigmi hanno i loro vantaggi,
quindi sappiamo come linguaggi come Karla sono multi-paradigma in cui puoi sfruttare la migliore programmazione orientata agli oggetti
e alla programmazione funzionale.
Quindi, anche i designer lo realizzano e lo rendono possibile e Java 8 introducendo costrutti
di programmazione funzionale come i lambast.
Finora stiamo solo analizzando le primitive su riferimenti o metodi di oggetti, ma Java 8.
È anche possibile passare le funzioni come argomenti ai metodi e all'interno di tali metodi è possibile utilizzare due funzioni.
Alcuni per i costrutti di programmazione che impareremo in questo capitolo ci consentono di
scrivere un codice più compatto ed efficiente su tale livello può anche aiutarci molto facilmente a sfruttare il parallelismo in un sistema multi-core.
Quindi in questo capitolo Viver apprende le nuove funzionalità del linguaggio di programmazione
funzionale e quindi questa particolare conferenza imposterà la scena guardando alcuni dei costrutti di programmazione funzionale che ci
permettono di scrivere codice più elegante.
Ok, quindi è tutto finito in tribunale.
Quindi capiremo la motivazione alla base dell'apprendimento delle nuove funzionalità invece di imparare semplicemente la
sintassi senza comprendere il loro vero scopo.
OK, quindi andiamo avanti e cominciamo con il capitolo come ho detto prima dell'8 luglio.
Sai che solo le primitive e le differenze tra oggetti possono essere passate come argomenti.
Ma dall'8 luglio in poi anche il comportamento potrebbe essere passato a noi argomento che possiamo passarlo sulla
funzionalità di Metford.
E questo è possibile.
Siamo allarmati e anche un qualcosa chiamato abbondanza di metadati in questo senso dall'8 luglio in poi le metriche
sono anche considerate come cittadini di prima classe in precedenza solo i primitivi ei riferimenti agli oggetti
erano considerati come cittadini uguali a tutti.
Qui stiamo parlando di funzioni come argomenti.
Possiamo anche avere metodi che restituiscono funzioni.
OK.
Ora anche prima dell'8 luglio sarebbe passata la funzionalità.
Ma sappiamo che era via oggetti soprattutto istanze di classi anonime ma le classi anonime sono un po
'di quelle ad esempio consideriamo questo esempio ritualistico e dalla nostra discussione di classi anonime
qui un oggetto anonimo viene passato come concorrente per il costruttore di creazione.
In modo che Chrisette possa andare su ordinamento nugget 8 luglio possiamo avere questo tipo di una parola in codice o
un'espressione lambda viene utilizzato al posto dell'oggetto anonimo.
Parliamo della sintassi per ora ma stiamo essenzialmente passando il corpo del comparatore.
Quindi non abbiamo la nuova parola chiave o il concorrente o la stringa o le firme del metodo comparato.
Come potete vedere, è molto più compatto e più pulito ed è anche efficiente, quindi la compattezza e l'efficienza sono uno
dei vantaggi dell'uso di lambda.
OK.
Ora guardiamo un altro bellissimo su un esempio più convincente sulla necessità di un programma di stile
funzionale.
Diamo una lista di libri e vogliamo prima filtrarli per rating e poi raggrupparli
per Carrigan.
OK.
Quindi vogliamo raggrupparli per categoria in quanto non inizieranno in una mappa come questa.
La chiave è essere d'accordo sui valori sarebbe un elenco di libri che rientrano in quella categoria.
OK.
E questo è uno schema tipico che viene utilizzato.
Qui stiamo scambiando con tutti i libri e stiamo solo applicando il filtro.
In questo caso sta piovendo.
Maggiore o uguale a 4. 5 della scritta è maggiore o uguale sul sito, quindi
tutti saliamo in macchina per toglierlo dal libro e stiamo verificando se abbiamo già aggiunto tutti i libri con quella categoria in
basso.
Se non fosse ancora Ardit, la lista dei libri qui sarà disponibile su soby initialiser con MBA, e poi abbiamo aggiunto la
mappa come valore per quella categoria.
E finalmente abbiamo il libro nella lista dei libri appena creati.
Ma se ci sono già uno o più libri che ho fatto per quella categoria, la
condizione if fallirebbe e il libro verrà semplicemente aggiunto alla lista esistente.
Questo è uno schema tipico quando raggruppiamo le cose per alcuni che non siamo e vediamo come le caratteristiche di Djala che
hanno semplificato il punteggio.
Quindi ecco lo stesso codice riscritto usando Dunois otto figure qui stiamo usando lo stream qui stiamo
invocando per la prima volta un metodo chiamato stream sui libri.
Ora lo stiamo cambiando.
E non importa in posizione chiamato Filtro.
Che fondamentalmente i filtri sono libri con meno di 4 voti. 5 alla fine del codice scritto una mappa con
i libri raggruppati per categoria.
OK, quindi qui il criterio di filtraggio è un'espressione lambda un'espressione usata per il raggruppamento è un argomento
di riferimento in quanto puoi vedere che la corte è ancora una volta compatta e pulita ed efficiente per mettere l'espressione lambda ei
miei buoni amici stanno aiutando in questo aspetto.
D'accordo sarebbe stato maldestro e difficilmente avrebbe usato un gloss anonimo.
Ora questo stile di programmazione in cui stiamo ordinatamente incatenando le cose è chiamato s programma dichiaratore
qui.
Non ci interessa come vengono gestite le cose.
Sotto tutto ciò che facciamo è specificare quale parte fa le query che riguardano quando si tratta di database.
Segui anche tale dichiarazione.
Nella parte orientale che abbiamo qui si parla di programmazione imperativa, quindi di
una terminologia per te che incontrerai spesso.
Ora la cosa buona è che se si sostituisce un flusso con il metodo flusso Parlow, allora ci sarà
la parallelizzazione dell'intero calcolo utilizzando un corso multiplo.
Quindi avremmo un calcolo più veloce.
Quindi è facile renderlo appetibile.
E questo sfruttamento del parallelismo è così facile se è davvero un grande vantaggio usare fuori
dagli stream in modo da poter vedere da questo esempio come possiamo scrivere codice più elegante usando le funzionalità dell'8
luglio su vediamo cosa impareremo in questo particolare capitolo .
Quindi questi sono gli argomenti principali di cui parleremo.
Comincerà imparando a lambda.
In seguito impareremo le interfacce funzionali come lambdas funziona con le sole interfacce di funzione
e come parte di quel grande aspetto di alcune nuove interfacce come la funzione di predicato consumatore e fornitore.
Poi impareremo a conoscere i riferimenti di Muntari e infine impareremo a conoscere il flusso sul sovra acquisto.
Potrei aggiungere alcune cose nuove come le migliori pratiche su cose del genere.
Quindi questo è tutto.
Spero che la motivazione per la funzione di scrittura sia ancora più chiara.
Ora possiamo saltare su specifiche Lunga.
OK.
Grazie e arrivederci alla prossima lezione.