Dudas de Programacion muy basicas
Hola espero que estés teniendo un bonito día.
procedo a responder de la manera más clara que puedo:
1.El tipo de coleccion que estas usando es un Map, esto solo es una interface asi que necesitas implementarla, en java hasta donde conozco existen 3 implementaciones ArrayMap,HashMap y LinkedHashMap.
2. Este tipo coleccion se caracteriza porque es del tipo clave ,valor es decir key, value.
3. cuando haces
map.values()
Estas diciéndole a tu colección que te devuelva en forma de arreglo (array o vector) todas los valores de ese mapa.
con el for (en la setencia que pones como referencia)
for(String grupo : map..values()){
}
solo recorres el arreglo que te devuelve map.
ahora bien map.keys(); este tambien te devuelve un arreglo pero de las llaves (key), almacenadas en tu colección.
Ejemplo de un map:
Esto lo puedes ver como una tabla de la siguiente manera.
Key ... Value
Manzana Son rojas o verdes y muy sabrosas
Tomates Son rojos
Peras mmm que rico
. ahora si yo doy map.keys() retornara en forma de arreglo todas las llaves asi:
[Manza,Tomates,Peras]
si le doy map.values()
[Son rojas o verdes y muy sabrosas,Son rojos, mmm que rico]
nota: los corchetes [] significa que es un arreglo.
4. cuando tu haces map.get(key), te retorna el valor asociado a la llave (key) enviada por parametro
Ejemplo utilizando nuestro map del punto 3, map.get("Manzana"); devolvera "Son rojas o verdes y muy sabrosas".
espero verte ayudado, te dejo el siguiente link, para que amplíes más el tema:
https://jarroba.com/map-en-java-con-ejemplos/
saludos.