根据一个List生成另外一个List,修改其中一个,导致另外一个List也在变化

这篇具有很好参考价值的文章主要介绍了根据一个List生成另外一个List,修改其中一个,导致另外一个List也在变化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、两个List复制

        SysDic aSysDic = new SysDic();
        aSysDic.setDkey("1");
        aSysDic.setDnote("12");
        SysDic bSysDic = new SysDic();
        bSysDic.setDkey("2");
        bSysDic.setDnote("23");
        SysDic cSysDic = new SysDic();
        cSysDic.setDkey("3");
        cSysDic.setDnote("34");
        List<SysDic> asList = new ArrayList<>();
        asList.add(aSysDic);
        asList.add(bSysDic);
        asList.add(cSysDic);
        List<SysDic> bsList = new ArrayList<>(asList);
        for (SysDic dic : bsList) {
            dic.setDkey(dic.getDnote());
        }
        System.out.println(asList);
        System.out.println(bsList);
        System.out.println(asList.size());
        System.out.println(bsList.size());

结果:

第一个对象和第二个对象完全相同,dkey都被改变了 

 2、可以看出来,1个List已经通过new关键字,重新生成了一个,但是List中包含的SysDic对象是相同的,你修改其中一个,另外一个也会发生变化。所以即使复制了List也无济于事,需要将List中的对象也复制一下才可以互不干扰。文章来源地址https://www.toymoban.com/news/detail-685985.html

到了这里,关于根据一个List生成另外一个List,修改其中一个,导致另外一个List也在变化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java List<对象> 根据对象的一个属性进行去重

    1.实现一个自定义函数,该函数将用于确定两个对象是否相等,例如: 这个函数接受一个Function对象作为参数,该函数将从对象中提取唯一标识属性,并使用ConcurrentHashMap来确定是否已经处理过该属性值。   2.现在你可以使用这个函数来进行去重了,例如:  这个代码将对m

    2024年02月12日
    浏览(33)
  • 两个list如何根据一个list中的属性去过滤掉另一个list中不包含这部分的属性,用流实现

    要是需要GPT Plus账号的小伙伴可以联系我~ 你可以使用Java 8的流来实现这个功能。假设你有两个包含对象的List,每个对象有一个属性,你想根据一个List中的属性值来过滤掉另一个List中不包含这个属性值的对象。下面是一种使用流的方式来实现这个功能 在上面的例子中,我们

    2024年02月12日
    浏览(33)
  • java 对象list使用stream根据某一个属性转换成map的几种方式

    可以使用Java 8中的Stream API将List转换为Map,并根据某个属性作为键或值。以下是一些示例代码: 在这个示例中,将Person对象列表转换为Map,其中键为Person对象的name属性,值为Person对象本身。 在这个示例中,将Person对象列表转换为Map,其中键为Person对象本身,值为Person对象的

    2024年02月13日
    浏览(42)
  • 记录一个iOS UITableView 正在刷新的时候修改数据源导致的崩溃

    首先看一下崩溃堆栈信息 由于tableview 调用layoutsubViews 执行到代理方法 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 由于是崩溃在系统方法里面的,我们无法直接看到是因为调用哪个方法导致的崩溃 后来经过多次调试,发现是因为调用了reloadData 出

    2024年01月17日
    浏览(47)
  • Java 定义返回一个不能被修改、删除元素的List

      为啥突然分享下这个,也是从mybatis源码看到了,所以想分享下: org.apache.ibatis.plugin.InterceptorChain   使用 Collections.unmodifiableList(); 示例: 运行效果: 不给动。  

    2024年02月13日
    浏览(38)
  • git提交文件的时候与别人刚好修改的是同一个文件,进而导致冲突

    日常大家一个项目组中所有人共同维护一个项目,时常会有多人修改了同一个文件的情况,提交的时候又刚好在同一个时间段提交,先提交的修改发起merge request被合并,后提交的人发起merge request后就会产生冲突,这样就有人告诉你,你的代码有冲突。这时就需要你来解决冲

    2024年02月15日
    浏览(28)
  • 编写程序,输入一个正整数n,输入n个数,生成一个n*n的矩阵。其中矩阵中第1行是输入的n个数,以后每一行的内容都是上一行循环左移一个元素构成的。

    假设n=5,输入的5个数为2、5、8、4、9,则形成的矩阵为: 2 5 8 4 9 5 8 4 9 2 8 4 9 2 5 4 9 2 5 8 9 2 5 8 4 直接将输入的数储存为数列的第一行: 在循环时,每行的最后一个数是上一行的第一个数,与之前的规律不同,要单独写: 完整的代码:

    2024年02月12日
    浏览(39)
  • AI新工具 又一个开源大模型DBRX击败GPT3.5;根据音频和图像输入生成会说话、唱歌的动态视频

    ✨ 1: AniPortrait 腾讯开源:根据音频和图像输入生成会说话、唱歌的动态视频 AniPortrait 是个先进的框架,专门用来生成高质量的、由音频和参考肖像图片驱动的动画。如果你有视频,也可以用来实现面部的再现(Face reenactment)。 地址:https://github.com/Zejun-Yang/AniPortrait ✨ 2: D

    2024年04月17日
    浏览(29)
  • iframe框架一个页面中嵌套到另外一个页面

    在一个页面中嵌套另外一个页面,就要使用到框架iframe 标签。iframe 标签规定一个内联框架。一个内联框架被用来在当前 HTML 文档中嵌入另一个文档。 基本语法 : 举例 :  运行浏览器后得到的效果如图   以上例子展示了iframe的用法,在浏览器执行后,iframe有个默认的高宽,

    2024年02月09日
    浏览(47)
  • 介绍另外一个容器技术, Apptainer

    一说到容器,我们往往会脱口而出, Docker, 实际上Docker 仅仅是Linux 容器化的一种, 今天介绍的Apptainer 就是另外一种容器技术。   那么Apptainer 具体是一个什么东西呢? 跟Docker 有什么区别呢? 容器是一个隔离的环境,用于保存软件及其依赖项和配置。 容器可以在任何具有

    2024年02月13日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包