Java – Nivel 3 – Test 10

Java – Nivel 3 – Test 10

Test-10 Java Nivel 3

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

List numbers = Arrays.asList(1, 2, 3, 4, 5);
int result = numbers.stream()
                .filter(n -> n % 2 == 0)
                .mapToInt(n -> n * n)
                .sum();
System.out.println(result);

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

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


String str = "Java";
System.out.println(str.chars().mapToObj(ch -> String.valueOf((char)(ch + 1))).collect(Collectors.joining()));

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

¿Qué imprimirá el siguiente código?


int x = 5, y = 10;
System.out.println(x > 3 ? y > 8 ? x + y : x - y : y);

¿Qué método se usa para ordenar un array de objetos usando un comparador personalizado en Java?

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

Stream.of("a", "bb", "ccc", "dddd").collect(Collectors.groupingBy(String::length, Collectors.mapping(String::toUpperCase, Collectors.toList())))

¿Cuál es el resultado de Math.round(Math.random() * 10)?

¿Qué interfaz funcional se utiliza para representar una operación que acepta un argumento y produce un resultado booleano?

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


Integer.bitCount(21) + Integer.numberOfTrailingZeros(24)

Tests similares

Respuestas:


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

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

int result = numbers.stream()

                .filter(n -> n % 2 == 0)

                .mapToInt(n -> n * n)

                .sum();

System.out.println(result);

  • Respuesta Correcta:
    20
  • Explicación:
    • filter(n -> n % 2 == 0): Filtra solo los números pares: [2,4][2, 4][2,4].
    • mapToInt(n -> n * n): Eleva al cuadrado cada número: [4,16][4, 16][4,16].
    • sum(): Suma los cuadrados: 4+16=204 + 16 = 204+16=20.

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

int x = 5, y = 10;

System.out.println(x > 3 ? y > 8 ? x + y : x – y : y);

  • Respuesta Correcta:
    15
  • Explicación:
    • x > 3 es verdadero, por lo que evalúa la rama del y > 8.
    • y > 8 es verdadero, por lo que se evalúa x + y: 5+10=155 + 10 = 155+10=15.

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

Stream.of(«a», «bb», «ccc», «dddd»)

    .collect(Collectors.groupingBy(

        String::length,

        Collectors.mapping(String::toUpperCase, Collectors.toList())

    ));

  • Respuesta Correcta:
    {1=[A], 2=[BB], 3=[CCC], 4=[DDDD]}
  • Explicación:
    • groupingBy(String::length): Agrupa las cadenas por su longitud.
    • mapping(String::toUpperCase, Collectors.toList()): Convierte cada cadena en mayúsculas y las almacena en listas.
    • Resultado:
      • Longitud 111: [A].
      • Longitud 222: [BB].
      • Longitud 333: [CCC].
      • Longitud 444: [DDDD].

4. ¿Qué hace el método replaceAll() en un Map?

  • Respuesta Correcta:
    Aplica una función a cada entrada del mapa, reemplazando el valor
  • Explicación:
    • replaceAll() permite aplicar una función a cada par clave-valor del mapa, actualizando el valor según el resultado de la función.

5. ¿Qué método se usa para ordenar un array de objetos usando un comparador personalizado en Java?

  • Respuesta Correcta:
    Arrays.sort(array, comparator)
  • Explicación:
    • Arrays.sort(array, comparator) ordena un array usando un comparador proporcionado por el usuario.

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

  • Respuesta Correcta:
    Aplana streams anidados en un solo stream
  • Explicación:
    • flatMap() transforma cada elemento en un stream y luego aplana todos los streams en uno solo.

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

Integer.bitCount(21) + Integer.numberOfTrailingZeros(24)

  • Respuesta Correcta:
    7
  • Explicación:
    • Integer.bitCount(21): Cuenta los bits en 21=1010121 = 1010121=10101, que tiene 333 bits en 111.
    • Integer.numberOfTrailingZeros(24): 24=1100024 = 1100024=11000, termina con 333 ceros.
    • Resultado: 3+3=73 + 3 = 73+3=7.

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

String str = «Java»;

System.out.println(str.chars().mapToObj(ch -> String.valueOf((char)(ch + 1))).collect(Collectors.joining()));

  • Respuesta Correcta:
    Kbwb
  • Explicación:
    • chars() convierte cada carácter en su código Unicode.
    • ch + 1 incrementa el valor Unicode de cada carácter:
      • J → K, a → b, v → w, a → b.
    • joining() combina los caracteres: Kbwb.

9. ¿Cuál es el resultado de Math.round(Math.random() * 10)?

  • Respuesta Correcta:
    Un número entre 0 y 10
  • Explicación:
    • Math.random() genera un número entre 0.00.00.0 y 1.01.01.0.
    • Multiplicarlo por 101010 da un rango entre 0.00.00.0 y 10.010.010.0.
    • Math.round() redondea al entero más cercano, produciendo un número entre 000 y 101010.

10. ¿Qué interfaz funcional se utiliza para representar una operación que acepta un argumento y produce un resultado booleano?

  • Respuesta Correcta:
    Predicate
  • Explicación:
    • Predicate<T> representa una operación que toma un argumento de tipo TTT y devuelve un valor booleano. Es ideal para evaluaciones de condiciones.

Deja un comentario