java Collections类操作集合复制详解

KLQ 2020-08-26 10:42:18 java常见问答 3957

之前给大家介绍了一下java Collections类操作集合排序的内容,下面要给大家介绍的就是Java Collections类操作集合复制方面的知识,一起来了解一下吧。

Collections类的copy()静态方法用于将指定集合中的所有元素复制到另一个集合中。

执行copy()方法之后,目标集合房中每个已复制元素的索引将等同于源集合中该元素的索引。

下面是copy()方法的语法格式:

在这当中,dest表示目标集合对象,src表示源集合对象。

注意一下了,目标集合的长度至少和源集合的长度相同,假如,目标集合的长度更长,那么不影响目标集合中的其余元素;假如,目标集合长度不够而无法包含整个源集合元素,程序将抛出IndexOutOfBoundsException异常。

示例:

在一个集合中保存了5个商品名称,现在要使用Collections类中的copy()方法将其中的3个替换掉。

首先创建了两个List对象srcList和destList,并向destList集合中添加了5个元素,向srcList集合中添加了3个元素,之后,调用Collections类中copy()方法将srcList集合中的全部元素复制到destList集合中。

因为,destList集合中含有5个元素,所以,最后两个元素不会被覆盖。

代码实现:

public class Test5
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        List srcList = new ArrayList();
        List destList = new ArrayList();
        destList.add("苏打水");
        destList.add("木糖醇");
        destList.add("方便面");
        destList.add("火腿肠");
        destList.add("冰红茶");
        System.out.println("原有商品如下:");
        for (int i = 0; i < destList.size(); i++)
        {
            System.out.println(destList.get(i));
        }
        System.out.println("输入替换的商品名称:");
        for (int i = 0; i < 3; i++)
        {
            System.out.println("第 " + (i + 1) + " 个商品:");
            String name = input.next();
            srcList.add(name);
        }
        // 调用copy()方法将当前商品信息复制到原有商品信息集合中
        Collections.copy(destList, srcList);
        System.out.println("当前商品有:");
        for (int i = 0; i < destList.size(); i++)
        {
            System.out.print(destList.get(i) + "\t");
        }
    }
}

运行结果:

原有商品如下:
苏打水
木糖醇
方便面
火腿肠
冰红茶
输入替换的商品名称:
第 1 个商品:
燕麦片
第 2 个商品:
八宝粥
第 3 个商品:
软面包
当前商品有:
燕麦片    八宝粥    软面包    火腿肠    冰红茶

以上的内容你都了解了吗?希望能够对你有所帮助呢,请多多的关注奇Q工具网吧,更多java基础知识以及java常见问题及解决方法可以为你分享解答。

推荐阅读:

java Collections类操作集合查找、替换操作详解

java集合详解

java集合面试题大全解析