Crear una lista de objetos de valor clave

Estoy tratando de crear una lista de pares clave-valor. Esto es lo que tengo hasta ahora:

Map<Integer,String> map = new HashMap<Integer,String>().put(songID, songList.get(i).name);

Esto me da el siguiente error:

No coinciden los tipos: no se puede convertir de Cadena a Mapa

Además, ¿cómo iteraría a través de estos? ¡Gracias!

Respuesta 1

Cuando llame putal mapa de tipo Map <Integer,String>, obtendrá la cadena devuelta. Entonces cuando haces esto:

new HashMap<Integer,String>().put(songID, songList.get(i).name);

devolverá un String

y cuando intentas asignarlo a un mapa

Map<Integer,String> map 

el compilador arroja un error,

No coinciden los tipos: no se puede convertir de Cadena a Mapa

Aquí está la firma del método put javadocs :

public V put(K key,
             V value)

necesita desglosar esta compleja declaración problemática:

Map<Integer,String> map = new HashMap<Integer,String>().put(songID, songList.get(i).name);

a algo como:

Map<Integer,String> map = new HashMap<Integer,String>();

map.put(songID, songList.get(i).name);
Respuesta: 2

Me encanta el control de acceso en cualquier lenguaje, pero encuentro que en Java casi nunca (si es que alguna vez) uso el modificador de acceso de paquete privado (o la falta del mismo). Me doy cuenta de que las clases internas pueden ser privadas, ...

Tengo una pregunta bastante simple. Escribo un fragmento de código como este: Entero entero = nuevo entero (42); System.out.println (entero); La pregunta es ¿qué ocurrió aquí? Desembalaje automático Entero ...

He logrado hacer esto para los cuadros de diálogo y tostadas, pero ahora ha surgido el problema del menú contextual. ¿Es posible en Android posicionar un menú contextual en una ubicación diferente mediante programación? YO ...

En mi juego libgdx, tengo 2 pantallas, menú y lista. Cuando hago clic en una etiqueta en la pantalla del menú, hago una pantalla de configuración (lista). Aparece la nueva pantalla y desaparece la pantalla del menú junto con sus etiquetas. ...