package com.trifulcas.colecciones;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class UsosHashMap {
public static void main(String[] args) {
ArrayList<String> usuarios=new ArrayList<>();
Collections.addAll(usuarios, "Ana","Eva","Juan","Rosa","Pep","Sara");
System.out.println(generaClaves(usuarios));
HashMap<String,ArrayList<Integer>> hash02=new HashMap<>();
hash02.put("Ana", new ArrayList<>());
hash02.get("Ana").add(5);
hash02.get("Ana").add(7);
hash02.get("Ana").add(9);
hash02.put("Eva", new ArrayList<>());
hash02.get("Eva").add(6);
hash02.get("Eva").add(8);
hash02.get("Eva").add(10);
System.out.println(getMedias(hash02));
}
// Una función a la que le pasamos un arraylist de nombres y nos genera
// Un diccionario con la clave el nombre y un valor que será una contraseña
// basada en el nombre, la primera letra del nombre, el índice del arraylist
// y la última letra del nombre
// generaClaves(ArrayList)
static HashMap<String,String> generaClaves(ArrayList<String> usuarios){
HashMap<String,String> res=new HashMap<String,String>();
for (int i=0;i<usuarios.size();i++) {
String usuario=usuarios.get(i);
String password=usuario.substring(0,1)+i+usuario.substring(usuario.length()-1);
res.put(usuarios.get(i), password);
}
return res;
}
// Una función a la que le pasamos un diccionario con el nombre de un alumno
// Y el valor un arraylist de notas y nos devuelve el hashmap con las medias
static HashMap<String,Double> getMedias(HashMap<String,ArrayList<Integer>> notas){
HashMap<String,Double> res=new HashMap<String,Double>();
for(String alumno:notas.keySet()) {
double suma=0;
for(int nota: notas.get(alumno)) {
suma+=nota;
}
res.put(alumno, suma/notas.get(alumno).size());
}
return res;
}
}