Hola Sergio:
1) Es una especie de lista pero en la que en vez de meter elementos de uno en uno, los metes por pares (lo que se llama un diccionario o una lista clave->valor.
Por ejemplo: (1->"tomate", 2->"fresa", ...), donde 1 sería la clave, y tomate el valor. Pero también puede ser: (listaColores->(azul, rojo, amarillo, ...), usuario->"pepito", )...
Es decir, el valor puede ser cualquier cosa (de las admitidas por el map), como una lista, un booleano, una imagen..
Echa un ojo a la documentación:
Map is a collection that maps keys to values. It can also be named hashtable, dictionary or associative array. Each item is made of a key and value. Access to the value is always done through the key. Retrieving the key is a fast operation. The size of the map doesn't affect the performance...
2) No transformas nada, añades como clave lo que quieras (en este caso yo como claves he usado "Datos" y como valor, el resulset
3) Sí, prácticamente cualquier cosa como te he comentado: listas, imágenes, variables, ...
4) No hay de qué, para eso estamos. De hecho, yo voy aprendiendo a la vez, porque hay cosas que miro para contestar, jeje.
saludos,