Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从哈希映射中获取值并将其放入数组中?_Java_Android_Arrays_Hashmap - Fatal编程技术网

Java 如何从哈希映射中获取值并将其放入数组中?

Java 如何从哈希映射中获取值并将其放入数组中?,java,android,arrays,hashmap,Java,Android,Arrays,Hashmap,我试图从散列映射中提取值并将它们放入数组中,但我一直得到一个空指针异常 还有别的办法吗 //some code.... String n[]=new String[tcur.getCount()];; String t[]=new String[tcur.getCount()];; HashMap<Integer, String> typehashmap=new HashMap<Integer, String>(); HashMap<Integer, String&

我试图从散列映射中提取值并将它们放入数组中,但我一直得到一个空指针异常

还有别的办法吗

//some code....
String n[]=new String[tcur.getCount()];;
String t[]=new String[tcur.getCount()];;
HashMap<Integer, String> typehashmap=new HashMap<Integer, String>();
HashMap<Integer, String> namehashmap=new HashMap<Integer, String>();

//some code..
String   type[]=typehashmap.keySet().toArray(new String[typehashmap.size()]);
String   name[]=namehashmap.keySet().toArray(new String[namehashmap.size()]);          


for (int i=0;i<=type.length;i++) {
    n[i]=namehashmap.get(nameiterator[i]).toString();
    System.out.println(n[i]);
    t[i]=typehashmap.get(typeiterator[i]).toString();
    System.out.println (t[i]);
}
//一些代码。。。。
字符串n[]=新字符串[tcur.getCount()];;
字符串t[]=新字符串[tcur.getCount()];;
HashMap typehashmap=新的HashMap();
HashMap namehashmap=新的HashMap();
//一些代码。。
字符串类型[]=typehashmap.keySet().toArray(新字符串[typehashmap.size()]);
字符串名称[]=namehashmap.keySet().toArray(新字符串[namehashmap.size()]);

对于(inti=0;i为什么不使用这个

 Set<Integer> keys = namehashmap.keySet();
 Collection<String> values = namehashmap.values();
如果仍然需要阵列,可能需要执行以下操作:

 keys.toArray();
 values.toArray();

真正的问题是,你想达到什么目的?你的两个哈希图是相互关联的,如果两个图中相同的整数关键字的条目属于同一个?如果是这样的话,我会首先考虑为这个做一个包装类,例如:

private static class TypeName {
   private String type;
   private String name;
}
以及使用HashMap

此外,迭代HashMap的最佳方法是使用条目集:

Map<A,B> map = new HashMap<A,B>();
for(Entry<A,B> entry : map.entrySet()) {
   A a = entry.getKey();
   B b = entry.getValue();
   // do things
}
Map Map=newhashmap();
for(条目:map.entrySet()){
A=entry.getKey();
B=entry.getValue();
//做事
}

通过view holder类,我必须在android的列表视图中打印它们,这需要一个数组。如果你能告诉我如何将集合更改为数组,那也可以。请帮忙。你得到了答案,key.toArray()和value.toArray();)Object[]n=names.toArray();错误-->对象[]t=types.toArray();为什么第二行给出编译时错误,尽管我在collectionCast it:(string[])类型中都有字符串类型的值。toArray();没有任何方法可以直接将hashmap转换为字符串数组吗
Map<A,B> map = new HashMap<A,B>();
for(Entry<A,B> entry : map.entrySet()) {
   A a = entry.getKey();
   B b = entry.getValue();
   // do things
}