Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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 如何从hashmap值获取对象数组数组?_Java_Hashmap - Fatal编程技术网

Java 如何从hashmap值获取对象数组数组?

Java 如何从hashmap值获取对象数组数组?,java,hashmap,Java,Hashmap,请原谅我没有很好地阐述这个问题。我相信下面的例子会告诉你我的意思。我需要从hashmap中获取一个对象的所有值。从下面的示例中可以看到,键是anObject,值是anObject的数组 HashMap<anObject,anObject[]> testMap = new HashMap<anObject,anObject[]>(); //Define map anObject someObject1 = new anObject("one"); anObject som

请原谅我没有很好地阐述这个问题。我相信下面的例子会告诉你我的意思。我需要从hashmap中获取一个对象的所有值。从下面的示例中可以看到,键是anObject,值是anObject的数组

HashMap<anObject,anObject[]> testMap = new HashMap<anObject,anObject[]>(); //Define map

anObject someObject1 = new anObject("one");
anObject someObject2 = new anObject("two")

anObject[] manyObjects1 = new anObject[3];
manyObjects1[0] = new anObject(0);
manyObjects1[1] = new anObject(1);
manyObjects1[2] = new anObject(2);
anObject[] manyObjects2 = new anObject[3];
manyObjects2[0] = new anObject(0);
manyObjects2[1] = new anObject(1);
manyObjects2[2] = new anObject(2);

testMap.put(someObject1,manyObjects1);
testMap.put(someObject2,manyObjects2);

//Get anObject from all the values put into testMap
anObject[] getAllValues1 = (anObject[])testMap.values().toArray; //is this correct or
anObject[][] getAllValues2 = (anObject[][])testMap.values().toArray; //is this correct 
HashMap testMap=newhashmap()//定义地图
anObject someObject1=新的anObject(“一”);
anObject someObject2=新的anObject(“两个”)
anObject[]manyObjects1=新的anObject[3];
manyoobjects1[0]=新的一个对象(0);
manyoobjects1[1]=新的一个对象(1);
manyoobjects1[2]=新的对象(2);
anObject[]manyObjects2=新的anObject[3];
manyoobjects2[0]=新的一个对象(0);
manyoobjects2[1]=新的一个对象(1);
manyoobjects2[2]=新的一个对象(2);
put(someObject1,manyObjects1);
put(someObject2,manyObjects2);
//从放入testMap的所有值中获取一个对象
anObject[]getAllValues1=(anObject[])testMap.values().toArray//这是正确的还是错误的
anObject[][]getAllValues2=(anObject[][])testMap.values().toArray//这是正确的吗
您希望使用:


因为您要返回一个映射中的值数组,而映射中的值是数组,所以您需要指示您要返回一个数组数组,所以
[]]

这两个数组都不会编译。更喜欢集合(列表、集合等)而不是数组。无需将它们转换为数组:它们可以直接迭代,并且有很多数组所没有的有用方法和特性。是的,我需要帮助。lol。这就是我为什么post@user859385:不用担心。注意编辑,结果是您需要对从
到阵列的返回进行强制转换。结果它不起作用:(.似乎我有一个括号或某种排序缺少站[][]allValues=values.toArray(站[][values.size()]);
Collection values = testMap.values();
anObject[][] getAllValues2 = (anObject[][])values.toArray(new anObject[values.size()][]);