Java – Nivel 3 – Test 6

Java – Nivel 3 – Test 6

Test-6 Java Nivel 3

¿Qué interfaz funcional se utiliza para representar una operación que no acepta argumentos y devuelve un resultado?

¿Qué hace el método flatMap() en un Stream?

¿Qué hace el método computeIfAbsent() en un Map?

Cuál es el resultado de Math.floorMod(-15, 4)?

¿Qué imprimirá el siguiente código?


int
x = 10;
System.out.println(x++ + ++x - --x);

¿Cuál es el resultado de la siguiente expresión?


IntStream.rangeClosed(1, 5).boxed().collect(Collectors.partitioningBy(i -> i % 2 == 0))

¿Cuál es la salida del siguiente código?


String str = "Java"; System.out.println(str.chars().mapToObj(ch -> String.format("%02X", ch)).collect(Collectors.joining()));

¿Cuál es el resultado de la siguiente operación?


(1 << 4) | (1 << 2) ^ (1 << 1)

¿Qué método se usa para obtener un stream paralelo a partir de una colección en Java?

¿Cuál es la salida del siguiente código?

List numbers = Arrays.asList(1, 2, 3, 4, 5);
int result = numbers.stream()
                  .reduce(1, (a, b) -> a * b);
System.out.println(result);

Tests similares

Respuestas:


1. ¿Qué hace el método flatMap() en un Stream?

  • Respuesta Correcta:
    Aplana streams anidados en un solo stream
  • Explicación:
    • flatMap() toma cada elemento de un stream y lo transforma en un nuevo stream, luego aplana todos esos streams en un único stream continuo.

2. ¿Qué hace el método computeIfAbsent() en un Map?

  • Respuesta Correcta:
    Calcula un valor si la clave no existe y lo agrega al mapa
  • Explicación:
    • Si la clave no está presente en el mapa, computeIfAbsent() usa una función para calcular el valor y lo inserta en el mapa.

3. ¿Cuál es el resultado de la siguiente expresión?

IntStream.rangeClosed(1, 5).boxed().collect(Collectors.partitioningBy(i -> i % 2 == 0))

  • Respuesta Correcta:
    {false=[1, 3, 5], true=[2, 4]}
  • Explicación:
    • partitioningBy(i -> i % 2 == 0) clasifica los elementos en dos grupos basados en si son pares (true) o impares (false).
    • El resultado es un mapa donde la clave es el resultado del predicado (true o false) y el valor es una lista de elementos que cumplen o no la condición.

4. ¿Cuál es la salida del siguiente código?

String str = «Java»;

System.out.println(str.chars().mapToObj(ch -> String.format(«%02X», ch)).collect(Collectors.joining()));

  • Respuesta Correcta:
    4A617661
  • Explicación:
    • str.chars() convierte el string en un stream de códigos de caracteres (int).
    • String.format(«%02X», ch) formatea cada carácter como un código hexadecimal de 2 dígitos.
    • Collectors.joining() concatena los valores formateados en un string.

5. ¿Cuál es la salida del siguiente código?

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

int result = numbers.stream()

                  .reduce(1, (a, b) -> a * b);

System.out.println(result);

  • Respuesta Correcta:
    120
  • Explicación:
    • reduce(1, (a, b) -> a * b) multiplica los elementos del stream acumulativamente, comenzando con 1.
    • 1×2×3×4×5=1201 \times 2 \times 3 \times 4 \times 5 = 1201×2×3×4×5=120.

6. ¿Cuál es el resultado de Math.floorMod(-15, 4)?

  • Respuesta Correcta:
    1
  • Explicación:
    • Math.floorMod(a, b) devuelve el residuo de la división entera de a entre b, pero siempre positivo.
    • Para −15 % 4-15\ \%\ 4−15 % 4, el residuo es −3-3−3, y floorMod lo ajusta a positivo, dando 1.

7. ¿Qué método se usa para obtener un stream paralelo a partir de una colección en Java?

  • Respuesta Correcta:
    parallelStream()
  • Explicación:
    • parallelStream() crea un stream que permite la ejecución de operaciones en paralelo.

8. ¿Qué imprimirá el siguiente código?

int x = 10;

System.out.println(x++ + ++x – –x);

  • Respuesta Correcta:
    12
  • Explicación:
    • Paso a paso:
      1. x++ usa el valor actual de x (10) y luego lo incrementa a 11.
      2. ++x incrementa primero (a 12) y luego usa ese valor.
      3. –x decrementa a 11.
    • Cálculo: 10+12−11=1210 + 12 – 11 = 1210+12−11=12.

9. ¿Qué interfaz funcional se utiliza para representar una operación que no acepta argumentos y devuelve un resultado?

  • Respuesta Correcta:
    Supplier
  • Explicación:
    • Supplier<T> es una interfaz funcional que representa una función sin argumentos que devuelve un valor de tipo T.

10. ¿Cuál es el resultado de la siguiente operación?

(1 << 4) | (1 << 2) ^ (1 << 1)

  • Respuesta Correcta:
    20
  • Explicación:
    • Paso a paso:
      1. 1 << 4 (desplazamiento a la izquierda) es 24=162^4 = 1624=16.
      2. 1 << 2 es 22=42^2 = 422=4.
      3. 1 << 1 es 21=22^1 = 221=2.
      4. 4 ^ 2 (XOR) da 6.
      5. 16 | 6 (OR) da 20.

Deja un comentario