1
00:00:02,110 --> 00:00:04,080
Ciao, questo è che non volevo perderti.

2
00:00:04,100 --> 00:00:05,220
E bentornato.

3
00:00:05,230 --> 00:00:11,500
Diamo un'occhiata alla seconda versione del metodo che abbiamo brevemente discusso alla

4
00:00:11,500 --> 00:00:13,300
fine dell'ultima lezione.

5
00:00:13,330 --> 00:00:18,790
Questa è la prima versione del metodo cattolico sotto tre parametri ed esegue

6
00:00:19,390 --> 00:00:24,300
una riduzione mutabile sotto i tre parametri dell'accumulatore fornitore onda combinatore.

7
00:00:24,520 --> 00:00:29,410
E in questo particolare esempio stiamo concatenando stringhe sotto molto.

8
00:00:29,410 --> 00:00:34,450
E abbiamo anche esaminato il secondo movimento del chilometro che è una versione semplificata che

9
00:00:34,450 --> 00:00:38,000
prende un singolo parametro e svolge anche un'operazione simile.

10
00:00:38,020 --> 00:00:39,750
Tutta la concatenazione di stringhe.

11
00:00:39,880 --> 00:00:44,380
La seconda domanda restituisce una stringa mentre la prima versione restituisce una stringa bulgur.

12
00:00:44,440 --> 00:00:49,280
Quindi per ottenere una stringa abbiamo solo bisogno di invocare il metodo stringa sul righello di stringa restituito.

13
00:00:49,660 --> 00:00:55,450
Quindi la seconda domanda sta prendendo un singolo parametro e si chiama collettore.

14
00:00:55,750 --> 00:01:02,290
Quindi i collezionisti si stanno unendo a questo e questo collezionista di collezionisti è interessato al pacchetto

15
00:01:02,290 --> 00:01:05,870
di docastre Gelada che Ryno rappresenta il flusso dell'occhio.

16
00:01:06,270 --> 00:01:12,150
Quindi i collezionisti stanno unendo Winterton a un'istanza dell'interfaccia del raccoglitore anti-teisti non collezionati

17
00:01:12,250 --> 00:01:18,340
ha un sacco di metodi sul metodo dell'orologio che invocano quei diversi metodi nell'istanza

18
00:01:18,820 --> 00:01:26,050
del collettore per eseguire la notevole riduzione su quei metodi restituire espressioni che sono simili a gli

19
00:01:26,140 --> 00:01:30,920
argomenti del metodo che vediamo qui e il primo chilometro.

20
00:01:30,940 --> 00:01:35,410
Quindi nel primo colorimetro vediamo un rifornimento del nostro accumulatore e un combinatore.

21
00:01:35,440 --> 00:01:42,380
Allo stesso modo il raccoglitore ha anche alcuni metodi che sono stati restituiti come accumulatore fornitore

22
00:01:42,520 --> 00:01:50,680
e che combinano lo svuotato sono anche un paio di altri metodi e qui il vetro del collezionista è

23
00:01:50,680 --> 00:01:57,150
essenzialmente una classe di supporto e sta aiutando e sta eseguendo alcune riduzioni predefinite.

24
00:01:57,160 --> 00:02:03,340
Quindi l'adesione è una riduzione piuttosto definita che è essenzialmente una concatenazione di stringhe.

25
00:02:03,490 --> 00:02:05,660
Quindi questa è una bella riduzione.

26
00:02:05,920 --> 00:02:12,520
Quindi l'unione restituirebbe un'istanza di Collector che formerebbe quella particolare azione predefinita che è la

27
00:02:12,700 --> 00:02:14,340
concatenazione di stringhe.

28
00:02:14,650 --> 00:02:18,010
Allo stesso modo c'è un metodo chiamato Boulis che abbiamo visto.

29
00:02:18,030 --> 00:02:23,770
E una delle lezioni precedenti è entrata in un'istanza da collezione che avrebbe aiutato a raccogliere i cibi

30
00:02:23,770 --> 00:02:24,580
del flusso.

31
00:02:24,620 --> 00:02:29,670
E siamo lasciati alla prossima lezione che effettivamente lo vedremo in azione.

32
00:02:29,940 --> 00:02:30,130
OK.

33
00:02:30,130 --> 00:02:34,630
Quindi, anche se l'abbiamo visto in precedenza, lo guarderemo ancora una volta e ci sono

34
00:02:34,630 --> 00:02:37,180
anche altri metodi e la classe dei collezionisti.

35
00:02:37,180 --> 00:02:43,570
Quindi questi sono tutti metodi statici di fabbrica che restituiscono istanze di

36
00:02:43,570 --> 00:02:46,790
collector diverse per eseguire riduzioni diverse.

37
00:02:46,810 --> 00:02:49,020
Ed ecco i Sendak per i due chilometri.

38
00:02:49,030 --> 00:02:51,010
Il primo sta prendendo tre parametri.

39
00:02:51,010 --> 00:02:54,010
Il secondo sta prendendo un collettore a parametro singolo.

40
00:02:54,010 --> 00:02:59,500
Ora vediamo questi argomenti pipe qui D e R R come un contenitore.

41
00:02:59,530 --> 00:03:01,120
Questo è ciò che viene scritto.

42
00:03:02,620 --> 00:03:06,000
B è la pipe l'elemento del flusso di input.

43
00:03:06,240 --> 00:03:07,790
OK.

44
00:03:07,960 --> 00:03:10,750
Ed ecco il tipo di accumulatore.

45
00:03:11,080 --> 00:03:17,920
Quindi sapete quale esempio di concatenazione delle stringhe sarebbe un generatore di stringhe perché questo è il

46
00:03:17,920 --> 00:03:25,480
contenitore in cui stiamo accumulando non è presente nella firma del primo metodo e questo perché l'accumulatore stesso fa

47
00:03:25,570 --> 00:03:28,510
parte della firma del metodo stesso.

48
00:03:28,720 --> 00:03:36,490
Quindi è un secondo parametro su Sogard non esplicitamente come l'argomento del tipo dirt sia

49
00:03:36,490 --> 00:03:39,600
ovunque all'interno della firma del metodo.

50
00:03:39,700 --> 00:03:46,050
Osserviamo ora l'interfaccia del collector stessa sul collector, come abbiamo appena visto come il

51
00:03:46,090 --> 00:03:53,280
parametro metrico del secondo movimento del chilometro e del collettore è essenzialmente un operatore di riduzione.

52
00:03:53,600 --> 00:03:58,930
Aiuta ad eseguire più accumuli di corrente in marcia.

53
00:03:59,180 --> 00:04:00,580
Questo è ciò che importa l'orologio.

54
00:04:00,620 --> 00:04:03,540
Unclick sta usando il raccoglitore per farlo.

55
00:04:03,620 --> 00:04:04,530
Come ho detto prima.

56
00:04:04,540 --> 00:04:11,600
Ha un sacco di metodi e uno di questi è una scorta di materia che aiuterebbe a creare il

57
00:04:11,960 --> 00:04:13,630
contenitore che dovremmo leggere.

58
00:04:13,730 --> 00:04:16,340
Quindi il fornitore fornisce un contenitore.

59
00:04:16,340 --> 00:04:23,300
Quindi questa è la materia per questa danza, un'istanza di interfaccia funzionale del fornitore.

60
00:04:23,300 --> 00:04:30,310
Vedremo il tipo di ritorno SHOCKLEE E abbiamo anche bisogno di un accumulatore che accumuli gli elementi

61
00:04:30,310 --> 00:04:32,300
del flusso nel contenitore.

62
00:04:32,350 --> 00:04:38,510
Quindi questo particolare metodo sarebbe invocato in particolare per portare a casa l'accumulo, cioè

63
00:04:38,510 --> 00:04:44,570
un combinatore che combinerebbe contenitori di conservazione che sarebbero l'output di due

64
00:04:44,570 --> 00:04:45,610
diversi segmenti.

65
00:04:45,790 --> 00:04:50,640
E questo sappiamo quando entra in gioco quando abbiamo a che fare con stringhe basse.

66
00:04:50,710 --> 00:04:57,100
Infine c'è qualcosa chiamato finisher che, come suggerisce il nome, termina la riduzione

67
00:04:57,100 --> 00:05:01,520
e può opzionalmente trasformare l'oggetto contenuto in qualcos'altro.

68
00:05:01,600 --> 00:05:03,310
Quindi abbiamo il contenitore.

69
00:05:03,460 --> 00:05:08,110
Ma a volte potremmo voler trasformare doc in qualcos'altro come ad esempio il contenitore

70
00:05:08,110 --> 00:05:12,300
potrebbe essere un bulgur di stringa, ma vorremmo produrre una stringa.

71
00:05:12,430 --> 00:05:17,510
Quindi in quel caso quella particolare logica di trasformazione andremo a questa particolare questione.

72
00:05:17,560 --> 00:05:20,610
Quindi questo metodo ci permetterebbe di fare quella trasformazione.

73
00:05:20,960 --> 00:05:28,000
E in molti casi potrebbe non esserci alcuna trasformazione, nel qual caso il contenitore stesso

74
00:05:28,080 --> 00:05:29,130
verrà mantenuto.

75
00:05:30,440 --> 00:05:35,870
E questi sono il tipo di marcatori che abbiamo visto in precedenza r d n r b è che l'elemento in grado di

76
00:05:36,280 --> 00:05:38,440
eseguire lo streaming è il tipo di accumulatore.

77
00:05:38,600 --> 00:05:44,600
Nel nostro esempio sarebbe un costruttore di stringhe dispari come il tipo di ritorno.

78
00:05:44,780 --> 00:05:51,260
E questo è ciò che il fornitore che restituisce un'interfaccia Crippen di tipo E dall'interfaccia della funzione di fornitura

79
00:05:51,780 --> 00:05:58,010
e la motard di connessione utilizzerebbe il fornitore per creare un nuovo contenitore e qui a NO un

80
00:05:58,130 --> 00:05:58,870
fornitore spento.

81
00:05:59,330 --> 00:06:03,610
Perché stiamo per creare un contenitore spento.

82
00:06:03,810 --> 00:06:12,940
E ho Stringer il prossimo è accumulatore di accumulatori come una bici su Zoomer e ci vogliono gli armigeri DUPERE uno è

83
00:06:13,060 --> 00:06:17,730
il contenuto del risultato stesso e l'altro è l'elemento flusso B.

84
00:06:17,840 --> 00:06:20,910
Quindi il sarebbe stato accumulato in quel contenitore.

85
00:06:20,980 --> 00:06:27,360
Quindi abbiamo il consumatore qui e sappiamo che il consumatore consumatore ha un

86
00:06:27,490 --> 00:06:35,560
unico metodo chiamato accettare Richard e quindi qui va bene, perché semplicemente riceveremo l'input a cena

87
00:06:35,560 --> 00:06:38,510
accumulando l'elemento stream nel contenitore.

88
00:06:39,990 --> 00:06:43,150
Il combinatore che conosci combina per riservare i contenitori.

89
00:06:43,210 --> 00:06:48,550
Quindi abbiamo bisogno di un operatore binario, quindi il metodo combinato leggerà un operatore binario e

90
00:06:48,550 --> 00:06:53,490
il metodo corretto userebbe l'operatore binario per combinare i due come un contenitore.

91
00:06:53,680 --> 00:07:01,640
Quindi combinerà due è una Jenrette e lì un incompiuto o come abbiamo detto prima è usato per

92
00:07:01,730 --> 00:07:05,100
trasformare il contenitore e fare qualcosa come.

93
00:07:05,170 --> 00:07:12,110
Quindi trasformerebbe il contenitore che è un pipe do ok ok sarebbe l'output finale.

94
00:07:12,160 --> 00:07:17,270
E come ho detto prima, a volte abbiamo bisogno di trasformare l'oggetto contenitore in qualcos'altro in

95
00:07:17,270 --> 00:07:18,270
altri casi.

96
00:07:18,320 --> 00:07:22,050
Non abbiamo bisogno di alcuna trasformazione in tal caso.

97
00:07:22,120 --> 00:07:23,700
Sarebbe visto.

98
00:07:24,020 --> 00:07:30,650
Quindi questo è il raccoglitore e tutti questi metodi fanno parte del collector ed è nel metodo

99
00:07:30,660 --> 00:07:32,600
Collect che li invocherebbe.

100
00:07:32,730 --> 00:07:39,140
Ed è così che eseguirà qualcosa di simile alla domanda di metodo nella prima domanda, stiamo

101
00:07:39,150 --> 00:07:44,510
specificando esplicitamente che ci sono diversi oggetti di cui abbiamo bisogno per andare

102
00:07:44,530 --> 00:07:47,060
a casa alla doppia produzione.

103
00:07:47,060 --> 00:07:53,260
Ora abbiamo parlato della classe dei collezionisti e abbiamo detto che la classe dei collezionisti avrebbe aiutato

104
00:07:53,650 --> 00:07:56,230
ad eseguire alcune tipiche riduzioni predefinite.

105
00:07:56,260 --> 00:07:59,090
Quindi queste sono le collezioni tipiche che possono accadere.

106
00:07:59,110 --> 00:08:03,610
Quindi abbiamo la collezione, il che significa che vorremmo raccogliere gli elementi del flusso in qualcosa come

107
00:08:03,610 --> 00:08:05,160
una lista o un secondo.

108
00:08:05,230 --> 00:08:07,600
E quindi ci sono alcuni metodi dedicati per questo.

109
00:08:07,600 --> 00:08:10,990
Allo stesso modo potresti voler raggruppare gli elementi del flusso in una mappa.

110
00:08:11,020 --> 00:08:16,440
Quindi abbiamo metodi per questo e potremmo voler leggere ridurre o riepilogare gli elementi del flusso.

111
00:08:16,540 --> 00:08:22,470
Quindi potresti voler usare gli elementi del flusso in un singolo valore o potremmo voler riassumere

112
00:08:22,480 --> 00:08:29,780
le direzioni del settore e ci sono alcuni metodi dedicati per l'esempio qui per eseguire il tipo di raccolta

113
00:08:29,780 --> 00:08:30,950
delle operazioni.

114
00:08:30,950 --> 00:08:34,900
Abbiamo questi metodi da elencare per creare una collezione.

115
00:08:34,970 --> 00:08:40,190
Quindi questi modelli che vedremo nella prossima lezione in modo da avere un sacco di conferenze

116
00:08:40,400 --> 00:08:45,440
ho bisogno di ognuna di quelle lezioni che esploreremo i diversi metodi che rientrano

117
00:08:45,440 --> 00:08:46,990
in queste diverse categorie.

118
00:08:48,220 --> 00:08:55,150
Se vogliamo raggruppare gli elementi del flusso in una mappa, possiamo utilizzare questo metodo per mappare il raggruppamento

119
00:08:55,150 --> 00:09:00,430
per partizionamento raggruppando per può essere utilizzato per eseguire raggruppamenti multilivello più complessi.

120
00:09:00,430 --> 00:09:03,580
Quindi, ad esempio, per mappare può essere utilizzato per generare una chiave e un valore.

121
00:09:03,580 --> 00:09:08,080
Sopportare con il raggruppamento in base al valore può essere più complicato.

122
00:09:08,230 --> 00:09:14,950
Quindi possiamo avere qualcosa come una lista o un insieme come valore sul partizionamento per essere usato per raggruppare

123
00:09:14,950 --> 00:09:17,930
il flusso di elementi in due gruppi.

124
00:09:18,030 --> 00:09:20,120
E questi sono i metodi che rientrano.

125
00:09:20,170 --> 00:09:26,750
Usando e riepilogando che il buy massimo autoesplicativo è usato per trovare l'elemento massimo tra i

126
00:09:26,790 --> 00:09:31,880
tre elementi sommando e sarebbe usato per sommare gli elementi del flusso.

127
00:09:31,890 --> 00:09:35,800
Quindi, ad esempio se gli elementi di flusso se il Houssam numericamente.

128
00:09:36,130 --> 00:09:42,030
A meno che non desideriamo solo valori numerici liberamente per tutti gli elementi del flusso, possiamo fare uso di

129
00:09:42,030 --> 00:09:43,850
qualcosa nel calcolo della media.

130
00:09:43,860 --> 00:09:50,920
Ed è simile al sommario, ma eseguirà una media sul riepilogo e genererebbe un oggetto qualcuno che

131
00:09:50,970 --> 00:09:59,240
obietta come un gruppo di campi riassuntivi che riassumono gli elementi del flusso di Ango, qualcuno che sarà qualcosa

132
00:09:59,250 --> 00:10:05,730
come un Maxime medio. m. r sull'unione Abbiamo già visto

133
00:10:05,730 --> 00:10:09,110
che è utilizzato per una concatenazione di stringhe homing.

134
00:10:09,150 --> 00:10:10,570
È un metodo sovraccarico.

135
00:10:10,620 --> 00:10:12,990
Quindi ci sono anche altri metodi di partecipazione.

136
00:10:13,230 --> 00:10:16,950
Quindi questi metodi aiutano a eseguire azioni di griglia predefinite.

137
00:10:17,140 --> 00:10:22,380
E quindi non dobbiamo usare la prima versione del metodo dell'orologio per eseguire questo tipo

138
00:10:22,410 --> 00:10:23,160
di operazioni.

139
00:10:23,280 --> 00:10:29,820
Quindi sono tutti predefiniti e caso f questi metodi non soddisfano le vostre esigenze.

140
00:10:29,880 --> 00:10:33,300
Quindi puoi implementare un raccoglitore da solo.

141
00:10:33,330 --> 00:10:38,880
Quindi possiamo implementare l'interfaccia del collector e possiamo implementare il nostro personaggio.

142
00:10:39,300 --> 00:10:40,330
Quindi questo è tutto.

143
00:10:40,410 --> 00:10:41,110
Grazie.

144
00:10:41,190 --> 00:10:45,400
E nella conferenza successiva esploreremo alcuni di questi argomenti.

145
00:10:45,480 --> 00:10:49,420
E infatti in una serie di conferenze esploreremo la maggior parte di questi metodi.

146
00:10:49,890 --> 00:10:51,390
Grazie e arrivederci alla prossima lezione.
