Práctica con Stream API
Es momento de practicar con Stream API. Tienes algunas tareas sencillas que implican el uso de diversos métodos de Stream API. Esta vez, no se proporcionarán tareas específicas. En su lugar, se 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 lograr el resultado esperado.
Este tipo de ejercicio puede ayudarte a desarrollar la habilidad de alcanzar resultados sin una especificación clara. Solo verás los datos de entrada y el resultado esperado.
¡Debes utilizar Stream API para completar estas tareas!
Tarea 1:
Entrada:
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 } }
Utilizar la Stream API para elevar al cuadrado cada número de la lista y recopilar el resultado en una nueva lista. Salida esperada:
[1, 4, 9, 16, 25]
Utilizar los métodos map() y toList() en este caso.
package 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);
List<Integer> result = numbers.stream().map(e -> e * e).toList();
System.out.println(result);
// Write your code here
}
}
Tarea 2:
Entrada:
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 } }
Utilizar Stream API para encontrar la longitud del nombre más largo en la lista. Salida esperada:
7
Utilizar los métodos intermedios map() y max(), y el método terminal get().
package 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");
Integer result = names
.stream()
.map(e -> e.length())
.max((integer, newInteger) -> Integer.compare(integer, newInteger))
.get();
System.out.println(result);
// Write your code here
}
}
Tarea 3
Entrada:
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 } }
Utilizar Stream API para contar el número total de palabras distintas (sin distinguir mayúsculas de minúsculas) en todas las oraciones. Salida esperada:
37
Utilizar los métodos intermedios flatMap() y distinct(), y el método terminal count().
package 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."
);
long count = sentences.stream()
.flatMap(e -> Arrays.stream(e.split(" ")))
.distinct()
.count();
System.out.println(count);
// Write your code here
}
}
Tarea 4:
Entrada:
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 } }
Utilizar Stream API para encontrar la concatenación de las dos primeras palabras que tengan longitudes pares.
Salida esperada:
bananacherry
Utilizar los métodos intermedios filter() y limit(), y el método terminal collect().
package com.example;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry");
String result = words.stream()
.filter(e -> e.length() % 2 == 0)
.limit(2)
.collect(Collectors.joining());
System.out.println(result);
// Write your code here
}
}
Tarea 5:
Entrada:
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 } }
Utilizar Stream API para encontrar la suma de los cuadrados de los números pares en la lista.
Salida esperada:
220
Utilizar los métodos intermedios mapToInt() y filter(), y el método terminal sum().
package 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);
int sum = numbers.stream()
.mapToInt(e -> e * e)
.filter(e -> e % 2 == 0)
.sum();
System.out.println(sum);
// Write your code here
}
}
¡Buen trabajo!
Si has completado todas las tareas, ¡felicitaciones!
Algunos métodos en las tareas pueden no haberse cubierto previamente. Para explorarlos, abre IntelliJ IDEA y verifica su funcionalidad.
La programación implica aprendizaje continuo, por lo que es recomendable explorar nuevas soluciones, buscar en línea y consultar la documentación cuando sea necesario.
¡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
Can you explain how the Stream API works in these examples?
What are some other common Stream API methods I should know?
Can you give me more practice tasks like these?
Genial!
Completion tasa mejorada a 4
Práctica con Stream API
Desliza para mostrar el menú
Es momento de practicar con Stream API. Tienes algunas tareas sencillas que implican el uso de diversos métodos de Stream API. Esta vez, no se proporcionarán tareas específicas. En su lugar, se 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 lograr el resultado esperado.
Este tipo de ejercicio puede ayudarte a desarrollar la habilidad de alcanzar resultados sin una especificación clara. Solo verás los datos de entrada y el resultado esperado.
¡Debes utilizar Stream API para completar estas tareas!
Tarea 1:
Entrada:
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 } }
Utilizar la Stream API para elevar al cuadrado cada número de la lista y recopilar el resultado en una nueva lista. Salida esperada:
[1, 4, 9, 16, 25]
Utilizar los métodos map() y toList() en este caso.
package 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);
List<Integer> result = numbers.stream().map(e -> e * e).toList();
System.out.println(result);
// Write your code here
}
}
Tarea 2:
Entrada:
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 } }
Utilizar Stream API para encontrar la longitud del nombre más largo en la lista. Salida esperada:
7
Utilizar los métodos intermedios map() y max(), y el método terminal get().
package 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");
Integer result = names
.stream()
.map(e -> e.length())
.max((integer, newInteger) -> Integer.compare(integer, newInteger))
.get();
System.out.println(result);
// Write your code here
}
}
Tarea 3
Entrada:
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 } }
Utilizar Stream API para contar el número total de palabras distintas (sin distinguir mayúsculas de minúsculas) en todas las oraciones. Salida esperada:
37
Utilizar los métodos intermedios flatMap() y distinct(), y el método terminal count().
package 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."
);
long count = sentences.stream()
.flatMap(e -> Arrays.stream(e.split(" ")))
.distinct()
.count();
System.out.println(count);
// Write your code here
}
}
Tarea 4:
Entrada:
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 } }
Utilizar Stream API para encontrar la concatenación de las dos primeras palabras que tengan longitudes pares.
Salida esperada:
bananacherry
Utilizar los métodos intermedios filter() y limit(), y el método terminal collect().
package com.example;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry");
String result = words.stream()
.filter(e -> e.length() % 2 == 0)
.limit(2)
.collect(Collectors.joining());
System.out.println(result);
// Write your code here
}
}
Tarea 5:
Entrada:
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 } }
Utilizar Stream API para encontrar la suma de los cuadrados de los números pares en la lista.
Salida esperada:
220
Utilizar los métodos intermedios mapToInt() y filter(), y el método terminal sum().
package 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);
int sum = numbers.stream()
.mapToInt(e -> e * e)
.filter(e -> e % 2 == 0)
.sum();
System.out.println(sum);
// Write your code here
}
}
¡Buen trabajo!
Si has completado todas las tareas, ¡felicitaciones!
Algunos métodos en las tareas pueden no haberse cubierto previamente. Para explorarlos, abre IntelliJ IDEA y verifica su funcionalidad.
La programación implica aprendizaje continuo, por lo que es recomendable explorar nuevas soluciones, buscar en línea y consultar la documentación cuando sea necesario.
¡Gracias por tus comentarios!