java中赋值运算符和addAll之间的区别是什么?
我想知道与一本书有关的一个固定章节的问题java中赋值运算符和addAll之间的区别是什么?,java,data-structures,set,Java,Data Structures,Set,我想知道与一本书有关的一个固定章节的问题 Set<String> mySet = new HashSet<>(); mySet.add("red"); mySet.add("blue"); mySet.add("pink"); mySet.add("black"); //first presentation Set<String> newSetFirst = new HashSet<>(
Set<String> mySet = new HashSet<>();
mySet.add("red");
mySet.add("blue");
mySet.add("pink");
mySet.add("black");
//first presentation
Set<String> newSetFirst = new HashSet<>();
newSetSirst.addAll(mySet);
//second presentation
Set<String> newSetTwo;
newSetTwo = mySet;
Set mySet=new HashSet();
mySet.add(“红色”);
mySet.add(“蓝色”);
mySet.add(“粉色”);
mySet.add(“黑色”);
//第一次介绍
Set newSetFirst=newhashset();
newSetSirst.addAll(mySet);
//第二次介绍
设置newsetwo;
newSetTwo=mySet;
第一次演讲和第二次演讲有什么区别
newSetSirst.addAll(mySet)是什么意思
newSetTwo=mySet是什么意思?第一次演示:
Set<String> newSetFirst = new HashSet<>();
newSetFirst.addAll(mySet);
System.out.println(newSetFirst); // Prints ["red", "blue", "pink", "black"]
mySet.clear();
System.out.println(newSetFirst); // Prints ["red", "blue", "pink", "black"]
Set<String> newSetTwo;
newSetTwo = mySet;
System.out.println(newSetTwo); // Prints ["red", "blue", "pink", "black"]
mySet.clear();
System.out.println(newSetTwo); // Prints []
当你赋值时,你只是给自己另一个变量,它指向同一个列表
mySet==newsetwo
为真:只有一个集合。因此,更改mySet
也会更改newSetTwo
。第一个演示文稿将创建一个新列表,并将第一个列表中的每个项目添加到该列表中。
如果您更改mySetFirst列表中的一项,则不会更改mySet列表
第二个演示指向mySet的引用。如果你在newSetTwo中更改了一个项目,该项目也会在mySet中更改。在这种情况下,mySet和newsetwo是同一个列表