Práctica de Transmisión
Es hora de que practiques con Stream API. Tienes unas cuantas tareas sencillas que implican el uso de varios métodos de Stream API. Esta vez, no te proporcionaré tareas específicas. En su lugar, te daré una lista con la que trabajar y cuál debe ser el resultado esperado. En otras palabras, tu objetivo es realizar operaciones sobre la lista para conseguir el resultado esperado.
Este tipo de tarea puede ayudarte a desarrollar la habilidad de conseguir resultados sin una especificación clara. Sólo verás los datos de entrada y el resultado esperado.
¡Necesitas utilizar Stream API para realizar estas tareas!
Nota
Le recomiendo encarecidamente trabajar con este código en un IDE, ya que allí podrá ver varios métodos, e IntelliJ le ayudará con la generación de código o referencias a métodos. Sin embargo, nadie te prohíbe completar esta tarea aquí en la plataforma-¡depende enteramente de ti!
Tarea 1:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); //write your code here } }
Utilice Stream API para elevar al cuadrado cada número de la lista y recoger el resultado en una nueva lista. Salida esperada:
[1, 4, 9, 16, 25]
Tarea 2:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eva"); //write your code here } }
Utilice Stream API para encontrar la longitud del nombre más largo de la lista. Salida Esperada:
7
Tarea 3
Input:
main.java
123456789101112131415package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> sentences = Arrays.asList( "Java Stream API provides a fluent interface for processing sequences of elements.", "It supports functional-style operations on streams of elements, such as map-reduce transformations.", "In this exercise, you need to count the total number of words in all sentences." ); //write your code here } }
Utilice Stream API para contar el número total de palabras distintas (sin distinguir mayúsculas de minúsculas) en todas las frases. Salida Esperada:
37
Tarea 4:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry"); //write your code here } }
Utilice Stream API para encontrar la concatenación de las dos primeras palabras que tengan longitudes pares.
Nota
Utiliza
collect(Collectors.joining())
para concatenar las palabras.
Salida esperada:
bananacherry
Tarea 5:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); //write your code here } }
Utiliza Stream API para hallar la suma de los cuadrados de los números pares de la lista.
Nota
Utiliza
mapToInt
en lugar demap
para acceder al método terminalsum
.
Salida esperada:
``java 220
Tarea 6:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry"); //write your code here } }
Utilice Stream API para agrupar palabras por su longitud y recoger el resultado en un Mapa.
Nota
Puedes usar collect(Collectors.groupingBy(e -> e.length())) para recoger el flujo en un Mapa.
Salida esperada:
{4=[fecha], 5=[manzana], 6=[plátano, cereza], 10=[saúco]}
Si has completado todas las tareas, ¡bien hecho!**.
Estos problemas pueden resolverse no sólo con los métodos que he proporcionado en el bloque de soluciones. Puedes resolverlos de la forma que más te convenga. Puedes escribir métodos separados y usarlos en el método map()
, o puedes no usar el Stream API en absoluto.
También habrás notado que algunos métodos de las tareas no se cubrieron antes. En estos casos, vale la pena abrir IntelliJ IDEA y explorar cómo se pueden realizar estas tareas utilizando diferentes métodos. Si tienes preguntas sobre los métodos o necesitas información adicional, no dudes en preguntar en el Chat de la Comunidad, donde otros usuarios o autores del curso pueden ayudarte.
En programación, el aprendizaje nunca se detiene, y descubrir nuevas formas de resolver diversos problemas es parte del viaje. No dudes en explorar Internet para encontrar nueva información o leer la documentación donde se describen todos los métodos. Mucha suerte.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 4
Práctica de Transmisión
Desliza para mostrar el menú
Es hora de que practiques con Stream API. Tienes unas cuantas tareas sencillas que implican el uso de varios métodos de Stream API. Esta vez, no te proporcionaré tareas específicas. En su lugar, te daré una lista con la que trabajar y cuál debe ser el resultado esperado. En otras palabras, tu objetivo es realizar operaciones sobre la lista para conseguir el resultado esperado.
Este tipo de tarea puede ayudarte a desarrollar la habilidad de conseguir resultados sin una especificación clara. Sólo verás los datos de entrada y el resultado esperado.
¡Necesitas utilizar Stream API para realizar estas tareas!
Nota
Le recomiendo encarecidamente trabajar con este código en un IDE, ya que allí podrá ver varios métodos, e IntelliJ le ayudará con la generación de código o referencias a métodos. Sin embargo, nadie te prohíbe completar esta tarea aquí en la plataforma-¡depende enteramente de ti!
Tarea 1:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); //write your code here } }
Utilice Stream API para elevar al cuadrado cada número de la lista y recoger el resultado en una nueva lista. Salida esperada:
[1, 4, 9, 16, 25]
Tarea 2:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eva"); //write your code here } }
Utilice Stream API para encontrar la longitud del nombre más largo de la lista. Salida Esperada:
7
Tarea 3
Input:
main.java
123456789101112131415package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> sentences = Arrays.asList( "Java Stream API provides a fluent interface for processing sequences of elements.", "It supports functional-style operations on streams of elements, such as map-reduce transformations.", "In this exercise, you need to count the total number of words in all sentences." ); //write your code here } }
Utilice Stream API para contar el número total de palabras distintas (sin distinguir mayúsculas de minúsculas) en todas las frases. Salida Esperada:
37
Tarea 4:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry"); //write your code here } }
Utilice Stream API para encontrar la concatenación de las dos primeras palabras que tengan longitudes pares.
Nota
Utiliza
collect(Collectors.joining())
para concatenar las palabras.
Salida esperada:
bananacherry
Tarea 5:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); //write your code here } }
Utiliza Stream API para hallar la suma de los cuadrados de los números pares de la lista.
Nota
Utiliza
mapToInt
en lugar demap
para acceder al método terminalsum
.
Salida esperada:
``java 220
Tarea 6:
Input:
main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry"); //write your code here } }
Utilice Stream API para agrupar palabras por su longitud y recoger el resultado en un Mapa.
Nota
Puedes usar collect(Collectors.groupingBy(e -> e.length())) para recoger el flujo en un Mapa.
Salida esperada:
{4=[fecha], 5=[manzana], 6=[plátano, cereza], 10=[saúco]}
Si has completado todas las tareas, ¡bien hecho!**.
Estos problemas pueden resolverse no sólo con los métodos que he proporcionado en el bloque de soluciones. Puedes resolverlos de la forma que más te convenga. Puedes escribir métodos separados y usarlos en el método map()
, o puedes no usar el Stream API en absoluto.
También habrás notado que algunos métodos de las tareas no se cubrieron antes. En estos casos, vale la pena abrir IntelliJ IDEA y explorar cómo se pueden realizar estas tareas utilizando diferentes métodos. Si tienes preguntas sobre los métodos o necesitas información adicional, no dudes en preguntar en el Chat de la Comunidad, donde otros usuarios o autores del curso pueden ayudarte.
En programación, el aprendizaje nunca se detiene, y descubrir nuevas formas de resolver diversos problemas es parte del viaje. No dudes en explorar Internet para encontrar nueva información o leer la documentación donde se describen todos los métodos. Mucha suerte.
¡Gracias por tus comentarios!