Convertir HashMap.keySet () para CharSequence []?
-
08-10-2019 - |
Pregunta
Tengo un método en una clase de cliente que recoge los datos de un servidor, y devuelve un HashMap. Quiero que las llaves en un diálogo androide. El API androide requiere que los datos deben estar en la forma de un CharSequence []. Por lo que puedo decir, no hay manera directa para convertir estos tipos de datos. ¿Cuál sería la mejor manera de lograr esto?
Aquí está la declaración y la inicialización del mapa hash y conjunto de claves:
Map <String, String> players = client.listPlayers();
Set<String> player_names = players.keySet();
Y aquí está el enlace a la documentación androide de diálogo.
Nota: CharSequence, que es capaz de ser moldeado a partir de un conjunto no es lo mismo que CharSequence []
Cualquier ayuda es apreciada.
W -Sean.
Solución
CharSequence[] player_names = players.keySet().toArray(new CharSequence[0]);
Esto le dice al método del tipo de la matriz sin asignar cualquier espacio para los elementos. Se asignará una matriz del tamaño adecuado para usted.
Si prefiere asignar la verdadera matriz de sí mismo:
CharSequence[] player_names = players.keySet().toArray(new CharSequence[players.size()]);