sinat_25234961 2016-08-17 13:31 采纳率: 100%
浏览 3113
已采纳

java set1的元素全部复制给set2

今天做题 偶然发现一个错误,在我的理解中,我是创建了2个set,这应该算是2个对象,他们应该有不同的地址。搞不懂为什么第二次往set2中添加元素,set1中也会添加。
例如:
import java.util.*;
public class test{

public static void main(String[] args){

HashSet set1=new HashSet();
HashSet set2=new HashSet();
set1.add(1);
set2=set1;
set2.add(2);

    Iterator iterator1=set1.iterator();
    while(iterator1.hasNext()){
       System.out.println(iterator1.next());
   } 

    Iterator iterator2=set2.iterator();
    while(iterator2.hasNext()){
       System.out.println(iterator2.next());
   } 


}

}

输出结果为
1
2
1
2

  • 写回答

3条回答 默认 最新

  • kimixuchen 2016-08-17 14:04
    关注

    ···
    set2=set1;
    ···
    这只是把set1的引用赋值给set2,它们共享一个对象,所以对set2的改动也会影响到set1.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记