Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
Android 如何将hashmap转换为数组?_Android_Arrays_Hashmap - Fatal编程技术网

Android 如何将hashmap转换为数组?

Android 如何将hashmap转换为数组?,android,arrays,hashmap,Android,Arrays,Hashmap,我想要哈希映射到数组 我创建hashmap Map<Integer,File> selectedFiles = new Hashmap<>(); 但是错误发生了 java.lang.Object[] cannot be cast to java.io.File[] 我知道,当我想要hashmap的值进行数组时,可以使用.values.toArray(),但它可能不正确 这种方法是错误的?请使用下面的代码将HashMap转换为数组,您可以将字符串更改为文件 //C

我想要哈希映射到数组

我创建hashmap

Map<Integer,File> selectedFiles = new Hashmap<>();
但是错误发生了

java.lang.Object[] cannot be cast to java.io.File[]
我知道,当我想要hashmap的值进行数组时,可以使用.values.toArray(),但它可能不正确


这种方法是错误的?

请使用下面的代码将HashMap转换为数组,您可以将字符串更改为文件

   //Creating a HashMap object

    HashMap<String, String> map = new HashMap<String, String>();

    //Getting Collection of values from HashMap

    Collection<String> values = map.values();

    //Creating an ArrayList of values

    ArrayList<String> listOfValues = new ArrayList<String>(values);

   // Convert ArrayList to Array

   String stringArray[]=listOfValues.toArray(new String[listOfValues.size()])
//创建HashMap对象
HashMap=newHashMap();
//从HashMap获取值集合
集合值=map.values();
//创建值的ArrayList
ArrayList listOfValues=新的ArrayList(值);
//将ArrayList转换为Array
String stringArray[]=listOfValues.toArray(新字符串[listOfValues.size())
Map selectedFiles=new HashMap();
selectedFiles.put(1,空);
File[]files=selectedFiles.values().toArray(
新文件[selectedFiles.size()];
System.out.println(文件);//我们将获得对象[Ljava.io.File;@15db9742

数组。不带参数的toArray会创建一个对象数组,因为列表的类型信息在运行时丢失。

的可能重复项除非您有其他原因,否则Android建议使用,而不是Map:更少的装箱,更低的内存使用率。可能的重复项可以跳过中间的
ArrayList
。另外,为什么不使用use
文件
?@4castle是的,你是对的,我只是把示例代码放在这里,这就是为什么要使用字符串。谢谢你节省了我的时间
   //Creating a HashMap object

    HashMap<String, String> map = new HashMap<String, String>();

    //Getting Collection of values from HashMap

    Collection<String> values = map.values();

    //Creating an ArrayList of values

    ArrayList<String> listOfValues = new ArrayList<String>(values);

   // Convert ArrayList to Array

   String stringArray[]=listOfValues.toArray(new String[listOfValues.size()])
Map<Integer, File> selectedFiles = new HashMap<>();
    selectedFiles.put(1, null);

    File[] files = selectedFiles.values().toArray(
            new File[selectedFiles.size()]);

    System.out.println(files);// We will get the object [Ljava.io.File;@15db9742