java - 将 HashMap.keySet() 转换为 CharSequence[]?

标签 java android hashmap charsequence

我在客户端类中有一个方法可以从服务器收集数据,并返回一个 HashMap。我想在 android 对话框中列出键。 android API 要求数据必须以 CharSequence[] 的形式存在。据我所知,没有直接的方法来转换这些数据类型。实现这一目标的最佳方法是什么?

这里是hashmap和keyset的声明和初始化:

Map <String, String> players = client.listPlayers();
Set<String> player_names = players.keySet();

And here is the link to the android Dialog documentation.

注意:CharSequence,可以从一个Set中转换出来,与CharSequence[]不同

感谢任何帮助。

-肖恩·W.

最佳答案

CharSequence[] player_names = players.keySet().toArray(new CharSequence[0]);

这会在不为元素分配任何空间的情况下告知方法数组的类型。它将为您分配一个大小正确的数组。

如果你更喜欢自己分配真正的数组:

CharSequence[] player_names = players.keySet().toArray(new CharSequence[players.size()]);

关于java - 将 HashMap.keySet() 转换为 CharSequence[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4161285/

相关文章:

java - 如何在 Java 中计算枚举的哈希码,以及如何将枚举哈希码组合为 HashMap 的键

struts2 - 从 Struts2 中的 hashmap 获取变量值

java - 如何在 freemarker 中实现自定义计数器?

java - 我在 android 中的应用程序中的屏幕旋转问题?

c# - Unity 2D 场景之间的淡入淡出

java - 将 EditText 文本绑定(bind)到变量?

java - 在 HashMap 值中存储两个值

java - Java 中的舍入 double 值

java - 使用 web3j 库监听智能合约发出的事件

android - android关闭服务后线程是否继续运行?