在做项目的过程中,经常会遇到将一个List复制到另一个List中---
思路是
创建两个List
然后将srcList中的元素一个个取出来赋给descList中
这里我们可以利用collections中的copy方法
但是需要注意:
直接用copy方法很容易会抛出
throw new IndexOutOfBoundsException("Source does not fit in dest");
原因是dest的size小于src的size
解决办法
List dest = new ArrayList(Arrays.asList(new Object[src.size]));
public class TestCopyList {
@Test
public void test(){
ArrayList list = new ArrayList(Arrays.asList(new Object[6]));
System.out.println(list.size());
ArrayList list1 = new ArrayList();
list1.add(1);
list1.add(3);
list1.add(7);
Collections.copy(list, list1);
System.out.println(list);
System.out.println(list.size());
}