Saltar al contenido principal

Boletín 601. Programación funcional y ficheros en Java

En este boletín trabajaremos la carga de datos mediante archivos CSV. Además, procesaremos esa información mediante programación funcional para obtener los resultados deseados.

Ejercicios

Ejercicio 1. Realiza las siguientes tareas con streams de Java:

  1. Filtrar todos los números pares de la lista listaNumeros, elevarlos al cuadrado y mostrarlos por pantalla.
  2. Convertir una lista de números en una lista de String y guardarla en la variable listaString.
  3. Indicar la cantidad de cadenas de listaString que tienen más de un carácter.

Solo debes completar el siguiente código:

public static void main(String[] args) throws Exception {

ArrayList<Integer> listaNumeros = new ArrayList<>();
for (int i=0; i < 100; i++) {
listaNumeros.add(i);
}

//1. TODO

System.out.println("-------------");

//2. TODO
for(String s: listaString) System.out.println(s);

System.out.println("-------------");

// 3. TODO
System.out.println(sol3);
}


Ejercicio 2. Lee el siguiente archivo csv. Almacena los valores de date, position, song, artist, duration_ms de cada fila en una lista de records.

A partir de esa lista, utilizando programación funcional, calcula:

  1. Imprime los artistas que tuvieron un número 1 en el año 2023.
  2. Indica el número de canciones diferentes que fueron número 1 en 2024.
  3. Indica las canciones de Aitana que estuvieron en las 10 primeras posiciones de las más escuchadas.
  4. Indica las canciones que fueron más escuchadas (es decir, las que fueron número 1) durante el mes de agosto de 2024.
  5. Indica las posiciones diferentes que obtuvieron las canciones de Aitana ordenadas de menor a mayor en una cadena de texto separada por comas.
  6. Indica la posición más alta de escuchadas que alcanzó una canción de Cris Mj.
  7. Agrupa las canciones por artista en un map. No es necesario eliminar las canciones duplicadas.
  8. Indica el número de canciones que superan los 6 minutos y que estuvieron en las 5 primeras posiciones.