我有HashMap<String, String>
。如果我想创建hashmap.values()
的字符串数组,我们可以将其创建为
String[] strArray = new String[hashmap.size()]
但我的问题是,如果hashmap值包含“A,B,C”,那么我需要将A,B和C添加到strArray。
答案 0 :(得分:21)
使用ArrayList
。
List<String> myList = new ArrayList<String>();
无论HashMap
的大小如何,您都可以轻松使用ArrayList
。
如果您需要阵列,可以使用
String[] arr = myList.toArray(new String[myList.size()]);
完成后。
答案 1 :(得分:2)
您可以在需要数组时获取值的副本。
Map<Double, String> map = ...
String[] values = map.values().toArray(new String[map.size()]);
如果更改地图(即使尺寸没有改变),阵列也不会改变,您需要另外复制。这些值是否必须是唯一的?
所以我需要用值(A,B,C,P,Q,R ......,Z)创建字符串Array。
在这种情况下,您似乎想要执行以下操作。
Map<Double, String> map = ...
List<String> valueList = new ArrayList<>();
for(String value: map.values())
valueList.addAll(Arrays.asList(value.split(",")));
String[] values = valueList.toArray(new String[valueList.size()]);
答案 2 :(得分:0)
它需要是一个数组吗?使用地图,您可以获得价值集的关键。