apuntes:streams
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| apuntes:streams [2021/10/22 06:32] – [Cómo crear Streams] Santiago Faci | apuntes:streams [2023/05/28 12:02] (current) – [Operaciones finales] Santiago Faci | ||
|---|---|---|---|
| Line 35: | Line 35: | ||
| Son aquellas operaciones que siempre acaban devolviendo el stream modificado. | Son aquellas operaciones que siempre acaban devolviendo el stream modificado. | ||
| - | \begin{itemize} | + | * '' |
| - | \item \textbf{distinct()}: Devuelve un stream con los elementos distintos | + | * '' |
| - | \item \textbf{filter(Predicate<? | + | * '' |
| - | \item \textbf{limit(long tamanoMaximo)}: Devuelve un stream con tantos elementos como el valor pasado como parámetro | + | * '' |
| - | \item \textbf{map(Function<? | + | * '' |
| - | | + | * '' |
| - | \item \textbf{peek(Consumer<? | + | * '' |
| - | \item \textbf{skip(long n)}: Elimina los \emph{n} primeros elementos y devuelve un stream con los restantes | + | * '' |
| - | \item \textbf{sorted(Comparator<? | + | |
| - | \item \textbf{unordered()}: Devuelve un stream desordenado | + | |
| - | \end{itemize} | + | |
| ===== Operaciones finales ===== | ===== Operaciones finales ===== | ||
| Line 51: | Line 48: | ||
| En este caso, son las operaciones que devuelven como resultado algo diferente que el propio stream. | En este caso, son las operaciones que devuelven como resultado algo diferente que el propio stream. | ||
| - | \begin{itemize} | + | * '' |
| - | \item \textbf{boolean allMatch(Predicate<? | + | * '' |
| - | \item \textbf{boolean anyMatch(Predicate<? | + | * '' |
| - | \item \textbf{boolean noneMatch(Predicate<? | + | * '' |
| - | \item \textbf{Optional< | + | * '' |
| - | \item \textbf{Optional< | + | * '' |
| - | \item \textbf{R collect(Collector<? | + | * '' |
| - | \item \textbf{long count()}: Devuelve el número de elementos del stream | + | * '' |
| - | \item \textbf{void forEach(Consumer<? | + | * '' |
| - | \item \textbf{void forEachOrdered(Consumer<? | + | |
| stream ordenado | stream ordenado | ||
| - | \item \textbf{Optional< | + | * '' |
| como parámetro | como parámetro | ||
| - | \item \textbf{Optional< | + | * '' |
| como parámetro | como parámetro | ||
| - | \item \textbf{Object[] toArray()}: Devuelve el stream como array de Objetos | + | * '' |
| - | \item \textbf{Iterator< | + | * '' |
| - | \end{itemize} | + | |
| Veamos algunos ejemplos para la siguiente colección: | Veamos algunos ejemplos para la siguiente colección: | ||
| - | \begin{lstlisting}[language=java] | + | < |
| List< | List< | ||
| numeros.add(" | numeros.add(" | ||
| Line 80: | Line 75: | ||
| numeros.add(" | numeros.add(" | ||
| numeros.add(" | numeros.add(" | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| numeros.stream() | numeros.stream() | ||
| .filter(nombre -> nombre.startsWith(" | .filter(nombre -> nombre.startsWith(" | ||
| .forEach(System.out:: | .forEach(System.out:: | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{verbatim} | + | <code java> |
| cinco | cinco | ||
| cuatro | cuatro | ||
| cinco | cinco | ||
| - | \end{verbatim} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| numeros.stream() | numeros.stream() | ||
| .distinct() | .distinct() | ||
| .filter(nombre -> nombre.startsWith(" | .filter(nombre -> nombre.startsWith(" | ||
| .forEach(System.out:: | .forEach(System.out:: | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{verbatim} | + | <code java> |
| cuatro | cuatro | ||
| cinco | cinco | ||
| - | \end{verbatim} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| numeros.stream() | numeros.stream() | ||
| .filter(nombre -> nombre.startsWith(" | .filter(nombre -> nombre.startsWith(" | ||
| .peek(nombre -> System.out.println(nombre.length())) | .peek(nombre -> System.out.println(nombre.length())) | ||
| .forEach(System.out:: | .forEach(System.out:: | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{verbatim} | + | < |
| 5 | 5 | ||
| cinco | cinco | ||
| Line 120: | Line 115: | ||
| 5 | 5 | ||
| cinco | cinco | ||
| - | \end{verbatim} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| numeros.stream() | numeros.stream() | ||
| .peek(nombre -> System.out.println(nombre.length())) | .peek(nombre -> System.out.println(nombre.length())) | ||
| .filter(nombre -> nombre.startsWith(" | .filter(nombre -> nombre.startsWith(" | ||
| .forEachOrdered(System.out:: | .forEachOrdered(System.out:: | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{verbatim} | + | <code java> |
| 3 | 3 | ||
| 3 | 3 | ||
| Line 139: | Line 134: | ||
| 5 | 5 | ||
| cinco | cinco | ||
| - | \end{verbatim} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| Optional< | Optional< | ||
| System.out.println(primerNumero.get()); | System.out.println(primerNumero.get()); | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{verbatim} | + | <code java> |
| uno | uno | ||
| - | \end{verbatim} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| Optional< | Optional< | ||
| System.out.println(primerNumero.get()); | System.out.println(primerNumero.get()); | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{verbatim} | + | <code java> |
| uno | uno | ||
| - | \end{verbatim} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| // Orden no garantizado | // Orden no garantizado | ||
| numeros.stream().parallel().forEach(System.out:: | numeros.stream().parallel().forEach(System.out:: | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{verbatim} | + | <code java> |
| tres | tres | ||
| cinco | cinco | ||
| Line 171: | Line 166: | ||
| cinco | cinco | ||
| uno | uno | ||
| - | \end{verbatim} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| // Orden garantizado | // Orden garantizado | ||
| numeros.stream().parallel().forEachOrdered(System.out:: | numeros.stream().parallel().forEachOrdered(System.out:: | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{verbatim} | + | <code java> |
| uno | uno | ||
| dos | dos | ||
| Line 185: | Line 180: | ||
| cuatro | cuatro | ||
| cinco | cinco | ||
| - | \end{verbatim} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| Optional< | Optional< | ||
| - | \end{lstlisting} | + | </ |
| - | \begin{verbatim} | + | <code java> |
| tres | tres | ||
| - | \end{verbatim} | + | </ |
| - | \begin{lstlisting}[language=java] | + | < |
| List< | List< | ||
| .sorted(Comparator.comparing(nombre:: | .sorted(Comparator.comparing(nombre:: | ||
| .collect(Collectors.toList()); | .collect(Collectors.toList()); | ||
| - | \end{lstlisting} | + | </ |
| ---- | ---- | ||
| - | (c) 2021 Santiago Faci | + | (c) 2021-2023 Santiago Faci |
apuntes/streams.1634884351.txt.gz · Last modified: by Santiago Faci
