当前位置: 首页> 游戏> 手游 > 成都家装排名前十名_邢台房产网_网络营销工作内容是什么_盐城seo优化

成都家装排名前十名_邢台房产网_网络营销工作内容是什么_盐城seo优化

时间:2025/7/16 3:12:13来源:https://blog.csdn.net/weixin_52767086/article/details/144633552 浏览次数:0次
成都家装排名前十名_邢台房产网_网络营销工作内容是什么_盐城seo优化

JAVA队列每次添加需要新实例才能独立更新

  • 队列里面的实例
  • 多次添加同一个实例
    • 实例
    • 结果
  • 每次添加一个新实例
    • 实例
    • 结果
  • 队列中添加包装类型
    • 实例
    • 结果

队列里面的实例

由于JAVA对于Object类型参数传参传递的是地址,实例更新,队列里面的实例也会被更新。关于JAVA参数传递与值的变化关系可以查看这里。

多次添加同一个实例

如果多次添加的是同一个实例,实例值的更新会影响到队列里全部该实例的值。

实例

        ArrayList<LinkedList<Integer>> resultList = new ArrayList<>();LinkedList<Integer> tempList = new LinkedList<>();tempList.add(1);resultList.add(tempList);tempList.add(3);resultList.add(tempList);System.out.println(resultList);

结果

[[1, 3], [1, 3]]

可以看到队列中全部对象发生了值的变化。

每次添加一个新实例

如果每次添加一个新实例,受影响的就只是单个实例。

实例

        ArrayList<LinkedList<Integer>> resultList = new ArrayList<>();LinkedList<Integer> tempList1 = new LinkedList<>();LinkedList<Integer> tempList2 = new LinkedList<>();tempList1.add(1);resultList.add(tempList1);tempList2.add(3);resultList.add(tempList2);tempList2.add(4);System.out.println(resultList);

结果

[[1], [3, 4]]

可以看到队列中只有第二个对象发生了值的变化。

队列中添加包装类型

实例

        ArrayList<LinkedList<Integer>> resultList = new ArrayList<>();LinkedList<Integer> tempList = new LinkedList<>();resultList.add(tempList);Integer value = Integer.valueOf(10);tempList.add(value);tempList.add(value);value = 20;System.out.println(resultList);

value = 20这里是新创建了一个Integer实例,详情可查看,然后赋值给value,value的值改变了。

结果

[[10, 10]]

可以看到队列中没有一个对象发生值的变化。这是由于队列中存储的包装类的地址跟value = 20新创建的实例地址不一致,大家互不影响。由于包装类每次值的更新都是新创建一个实例,这里可以参考String, StringBuilder, StringBuffer, StringJoiner区别中对String的描述以及JAVA包装类变量赋值是会新创建对象实例。而队列类中不能添加基本类型,这里可以忽略基本类型不作讨论。如果想要队列中的对象发生值的变化则要将更新队列中的对象地址。可以参考下面的实例。

        ArrayList<LinkedList<Integer>> resultList = new ArrayList<>();LinkedList<Integer> tempList = new LinkedList<>();resultList.add(tempList);Integer value = Integer.valueOf(10);tempList.add(value);tempList.add(value);value = 20;tempList.set(1, value);System.out.println(resultList);

通过队列的set()方法直接更新队列中第二个对象的地址。结果如下:

[[10, 20]]

可以看到,队列中第二个对象的值发生了变化。

关键字:成都家装排名前十名_邢台房产网_网络营销工作内容是什么_盐城seo优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: