Java 创建x阵列列表
我使用一个存储整数的变量类。如果整数是13,我需要创建13个ArrayList。你知道我该怎么做吗 这是我的while循环中的内容:Java 创建x阵列列表,java,arraylist,Java,Arraylist,我使用一个存储整数的变量类。如果整数是13,我需要创建13个ArrayList。你知道我该怎么做吗 这是我的while循环中的内容: ArrayList<Integer[]> list + count = new ArrayList<>(); ArrayList list+count=new ArrayList(); 以下是: ArrayList<ArrayList<Integer>> myLists = new ArrayList<Ar
ArrayList<Integer[]> list + count = new ArrayList<>();
ArrayList list+count=new ArrayList();
以下是:
ArrayList<ArrayList<Integer>> myLists = new ArrayList<ArrayList<Integer>>();
for(int i = 0; i < 4; i++) {
ArrayList<Integer> newList = new ArrayList<Integer>();
myLists.add(newList);
}
ArrayList mylist=new ArrayList();
对于(int i=0;i<4;i++){
ArrayList newList=新的ArrayList();
添加(newList);
}
假设我需要整数9进入第三个数组列表,整数3进入第二个数组列表。我该怎么做?你想实现什么 您可以创建ArrayList的ArrayList。比如:
ArrayList<ArrayList<Integer>> myLists = new ArrayList<ArrayList<Integer>>();
for(int i = 0; i < numOfLists; i++) {
ArrayList<Integer> newList = new ArrayList<Integer>();
myLists.add(newList);
}
ArrayList mylist=new ArrayList();
对于(int i=0;i
这样,您将拥有包含您创建的所有列表的MyList。通过将变量合并为另一个变量名是不可能的。编译器应该已经告诉你了。您可以使用另一个
ArrayList
List<List<Integer[]>> mainList = new ArrayList<List<Integer[]>>();
for(int i = 0; i < 13; i++){
mainList.add(new ArrayList<Integer[]>());
}
List mainList=new ArrayList();
对于(int i=0;i<13;i++){
添加(新的ArrayList());
}
如果要通过名称识别每个阵列列表
,可以使用映射
Map<String, ArrayList<Integer[]>> listsMap = new HashMap<>();
for(int i = 0; i < 13; i++){
listsMap.add("list" + i, new ArrayList<>());
}
通过在作业的左侧放置
+
符号,您试图完成什么?这是不合法的。你是在发明自己的语法,并希望编译器能弄明白吗?我正试图获得如上所述的多个数组列表。我认为+符号会使数组列表名为(list1,list2..list13)。您可以创建ArrayList
(ArrayList[]
)的数组或ArrayList
(ArrayList
)的ArrayList
)。我不知道什么是t
。您可以通过说new ArrayList[13]
来创建一个包含13个ArrayLists
的数组,但是您必须在循环中创建每个ArrayList
,因为这将是一个空数组。您不能在Java中动态创建变量名。如果需要n个对象,可以创建数组、ArrayList
或其他数据结构。不要试图创建大量变量,比如现在我需要将整数3添加到第三个ArrayList中。我该怎么做?在初始化newList
之后,您可以立即执行:newList.add(I+1)
您如何知道哪个ArrayList?比如我怎么知道哪个ArrayList是newList?我不确定你想要实现什么,但是你知道哪个列表是哪个列表,因为你创建它们的顺序。因此,第一个ArrayList将在MyList
中通过执行类似于MyList.get(0)
的操作来访问,如果您希望MyList中第一个ArrayList中的第一个元素,可以执行MyList.get(0).get(0)
。
listsMap.get("list3").add(new Integer[]{3});