Java.util.Collections 类

java.util.Collections.copy() 方法用于将一个列表中的所有元素复制到另一个列表中。操作完成后,目标列表中每个复制元素的索引将与其在源列表中的索引相同。目标列表必须至少与源列表一样长。如果更长,则目标列表中的其余元素不受影响。

语法

public static <T> void copy(List<? super T> dest, 
                            List<? extends T> src)

这里,T是列表中元素的类型。

参数

dest 指定目标列表。
src 指定源列表。

返回值

void 类型。

异常

  • 如果目标列表太小而无法包含整个源列表,则抛出 IndexOutOfBoundsException
  • 如果目标列表的列表迭代器,则抛出 UnsupportedOperationException不支持set操作。

示例:

在下面的示例中,java.util.Collections.copy() 方法用于将 list1 的所有元素复制到 list2 中。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建列表对象
    List<Integer> list1 = new ArrayList<Integer>();
    List<Integer> list2 = new ArrayList<Integer>();

    //填充列表1
    list1.add(10);
    list1.add(20);
    list1.add(30);

    //填充列表2
    list2.add(100);
    list2.add(200);
    list2.add(300);

    //将list1的所有元素复制到list2中
    Collections.copy(list2, list1);

    //打印列表1
    System.out.println("list1 contains: " + list1); 

    //打印列表2
    System.out.println("list2 contains: " + list2);   
  }
}

上述代码的输出将是:

list1 contains: [10, 20, 30]
list2 contains: [10, 20, 30]