ArrayList集合的copy

为了使查询出来的数据不受到污染,经常会将数据拷贝到一个可以随意使用的集合中,而在期间的就需要进行copy操作。

以前的我使用循环遍历(for循环)然后存到另一个集合中,但是这样会有很多冗余代码,且for循环影响程序执行效率(数据很多的情况下)

为了简化代码,我找到了Collection中的copy方法,该方法会将原集合数据(src)copy到目的集合(dest)

Collections.copy(List<? super Object> dest, List<? extends Object> src)

而在我使用这个方法的时候却报了下面的错误

Collections.copy 方法报错: Source does not fit in dest

看了Collections.copy的源码:

  int srcSize = src.size();
  if (srcSize > dest.size())
            throw new IndexOutOfBoundsException("Source does not fit in dest");

结果是比较集合大小的,遂放弃

再然后我找到了ArrayList的构造方法
List<T> Blist= new ArrayList<T>(aList);

T可以是实体类,具体自行带入(前提:两个list的泛型(T)相同)

使用上述方法可以直接将aList的数据copy到bList中

注意:使用上述方法数据不会脱离持久化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值