Collections.copy初始化

指定的List容量,并不代表实际元素,初始化时实际元素个数为0,只有在进行add()和remove()等,实际元素个数才会发生改变。

public class TestCollections {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();
        list.add("2");
        list.add("3");
        list.add("1");
        System.out.println(list);

        //排序
        Collections.sort(list);
        System.out.println(list);

        //反转
        Collections.reverse(list);
        System.out.println(list);

        //批量添加
        Collections.addAll(list, "9", "5", "8");
        System.out.println(list);

        //添加整个目标List
        List<String> dest = new ArrayList<>();
        dest.addAll(list);
        System.out.println(dest);

        // 拷贝
        // 指定的List容量为3,只是指定了List当前容纳的元素个数为3,
        // 即List的容纳能力(Capacity)为3,
        // 并不代表List中有了三个实际的元素。
        // 初始化时实际元素个数(Size)永远为0,
        // 只有在进行add()和remove()等相关操作时,实际元素个数才会发生改变。
        List<String> dest2 = new ArrayList(Arrays.asList(new String[list.size()]));
        Collections.copy(dest2, list);
        System.out.println(dest2);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44371237/article/details/121791602