gpt4 book ai didi

java - 将 HashMap 转换为数组

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:01 25 4
gpt4 key购买 nike

我有一个 HashMap,我想将它转换成一个数组。下面的代码,我得到以下内容:[[2, 11, 10, 9], [value1, value2, value3, value4], [null, null, null, null], [null, null, null, null]]“空”条目给我一个空指针异常。为什么它是应该的两倍大?我只想要真实的条目:[[2, 11, 10, 9], [值 1, 值 2, 值 3, 值 4]]。我做错了什么?

String[][] test = getArrayFromHash(hashmap);

public static String[][] getArrayFromHash(HashMap<String, String> hashMap){
String[][] str = null;
{
Object[] keys = hashMap.keySet().toArray();
Object[] values = hashMap.values().toArray();
str = new String[keys.length][values.length];
for(int i=0;i<keys.length;i++) {
str[0][i] = (String)keys[i];
str[1][i] = (String)values[i];
}
}
return str;
}

谢谢!

最佳答案

引用这个link:::

    String[][] arr = new String[hashmap.size()][2];
Set entries = hashmap.entrySet();
Iterator entriesIterator = entries.iterator();

int i = 0;
while(entriesIterator.hasNext()){

Map.Entry mapping = (Map.Entry) entriesIterator.next();

arr[i][0] = mapping.getKey().toString();
arr[i][1] = mapping.getValue().toString();

i++;
}

UPdated::::: 得到两个一维数组

String[] arr1 = new String[hashmap.size()];
String[] arr2 = new String[hashmap.size()];
Set entries = hashmap.entrySet();
Iterator entriesIterator = entries.iterator();

int i = 0;
while(entriesIterator.hasNext()){

Map.Entry mapping = (Map.Entry) entriesIterator.next();

arr1[i] = mapping.getKey().toString();
arr2[i] = mapping.getValue().toString();

i++;
}

关于java - 将 HashMap 转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10765042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com