java ArrayList多次克隆
我正在尝试使用java ArrayList多次克隆,java,arraylist,clone,Java,Arraylist,Clone,我正在尝试使用for loop和clone()方法克隆我的ArrayList4次,但我无法克隆。 下面是我编写的(简单的)代码: static ArrayList<Integer> newArrList; for (int n = 1; n <= 4; n++) { ArrayList<Integer> arrList = new ArrayList<>(); for (int i = 1; i <= 13;
for loop
和clone()
方法克隆我的ArrayList
4次,但我无法克隆。
下面是我编写的(简单的)代码:
static ArrayList<Integer> newArrList;
for (int n = 1; n <= 4; n++) {
ArrayList<Integer> arrList = new ArrayList<>();
for (int i = 1; i <= 13; i++) {
arrList.add(i);
}
newArrList = (ArrayList<Integer>) arrList.clone();
for (int i = 1; i <= 13; i++) {
newArrList.add(i);
}
}
静态数组列表newArrList;
对于(int n=1;n您的代码对我来说似乎有点太混乱了,所以我无法指出您到底哪里出错了
我不明白的第一件事是为什么要创建4次测试列表(在主循环中)。它不应该只创建一次吗
然后做一个克隆
,然后添加13个元素,将内容两次放入新列表中。一次作为原始内容的副本,然后作为硬编码数据。我不理解这背后的动机
无论如何,我只需要创建一个新的(空)列表,并使用addAll
将原始列表的所有元素添加4次:
// create test list
ArrayList<Integer> arrList = new ArrayList<>();
for (int i = 1; i <= 13; i++) {
arrList.add(i);
}
// clone
ArrayList<Integer> newArrList = new ArrayList<>();
for (int i = 0; i < 4; i++) {
newArrList.addAll(arrList);
}
//创建测试列表
ArrayList arrList=新的ArrayList();
因为(int i=1;我不会把你所做的称为“直截了当”;-)@mastov:我正在尽我最大的努力!-你能看到我哪里做错了吗?这是直截了当的和更好的代码。谢谢你。@dustin很抱歉不能准确解释你的代码有什么问题。我只是理解得不够。