Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 Android:如何拥有ArrayList类型的数组<;HashMap<;字符串,字符串>&燃气轮机;_Java_Android_Arrays_Arraylist - Fatal编程技术网

Java Android:如何拥有ArrayList类型的数组<;HashMap<;字符串,字符串>&燃气轮机;

Java Android:如何拥有ArrayList类型的数组<;HashMap<;字符串,字符串>&燃气轮机;,java,android,arrays,arraylist,Java,Android,Arrays,Arraylist,嘿,基本上我想做的是获取大量的ArrayListmenuItems并将其传递给我的onPostExecute方法,所以要做到这一点,我打算创建一个menuItems数组并传递它……这是我用来做这件事的代码 ArrayList<HashMap<String, String>>[] arr = new ArrayList<HashMap<String,String>>[6]; arr[0] = menuItems;

嘿,基本上我想做的是获取大量的
ArrayList
menuItems并将其传递给我的
onPostExecute
方法,所以要做到这一点,我打算创建一个menuItems数组并传递它……这是我用来做这件事的代码

ArrayList<HashMap<String, String>>[] arr = new ArrayList<HashMap<String,String>>[6];
                arr[0] = menuItems;
                arr[1] = menuItems2;
                arr[2] = menuItems3;
                arr[3] = menuItems4;
                arr[4] = menuItems5;
                arr[5] = menuItems6;
ArrayList[]arr=新的ArrayList[6];
arr[0]=菜单项;
arr[1]=menuItems2;
arr[2]=menuItems3;
arr[3]=菜单项4;
arr[4]=菜单项5;
arr[5]=菜单项6;
然后我返回arr。但是我得到了这个错误

Cannot create a generic array of ArrayList<HashMap<String,String>> 
无法创建ArrayList的常规数组

这似乎表明了Java在编译器级别实现其泛型的一些东西,这是我在研究了堆栈溢出和web上的一般问题后所能找到的。所以我的问题很简单,我该怎么做?要么是解决我的错误的方法,要么是返回菜单项的不同方法。

不可能的ArrayList本身就是文档集合框架的动态数组部分。 从代码中删除[]括号。 引自维基百科

在计算机科学中,动态数组、可增长数组、可调整大小数组、, 动态表、可变数组或数组列表是随机访问, 允许添加或删除元素的可变大小列表数据结构 远离的。许多现代图书馆都提供标准图书馆 主流编程语言

对于初学者来说也是一个很好的资源。 如果您想要固定大小的ArrayList

例如我的建议。 编辑

ArrayList<Hashmap<String,String>> list =new ArrayList<Hashmap<String,String>>()
Hashmap<String,String> map=new Hasmap<String,String>()
map.put("KEY","VALUE");
list.add(map);
ArrayList list=new ArrayList()
Hashmap=newhasmap()
地图放置(“键”、“值”);
列表。添加(地图);
记住,每次必须为hashmap创建新实例时,都应该这样做。因为它使用唯一值

ArrayList[]arr=newarraylist[6];
ArrayList<HashMap<String, String>>[] arr = new ArrayList<HashMap<String,String>>[6];  
您正在尝试创建
ArrayList
数组。这是故意的还是…?
默认情况下,ArrayList是可扩展的。尝试删除
[]
[6]

然后,使用
add()
方法添加所需的数据:)

最好的选择是使用列表而不是数组。此外,在创建引用时,您还应该

List List=newarraylist;
列表。添加(菜单项1);
list.add(menuItems2);
list.add(menuItems3);
列表。添加(菜单项4);
列表。添加(菜单项5);
列表。添加(菜单项6);

列表不是数组
ArrayList arr=new ArrayList()
arr.add(菜单项)
arr.add(menuItems2)
/…
创建
ArrayList的
ArrayList
,而不是
ArrayList的
[]
。类型ArrayList中的方法add(HashMap)不适用于参数(ArrayList-这是我在AddOk上的下一个错误谢谢我会尝试这个。也谢谢你的参考我也想从我的mistakes@james问题必须至少提前15分钟,OP才能接受答案:)很好,谢谢,非常好,一旦我同意,我会选择这个作为答案。对不起,我该如何将菜单项恢复到单独的ArrayList类型中?对不起,问题仍然存在,一旦我返回了这个问题,我该如何恢复菜单项。我知道如何使用数组执行此操作,但这对我来说是新的
List<List<Map<String, String>>> list = new ArrayList<List<Map<String, String>>>;
list.add(menuItems1);
list.add(menuItems2);
list.add(menuItems3);
list.add(menuItems4);
list.add(menuItems5);
list.add(menuItems6);