Java 在两个不同的集合中为一个元素保留了多少实例?
如果我有一个MyClass的实例,让我们称之为myElement,然后我将它添加到两个列表、队列、映射或任何东西中。它将在内存中保存多少次Java 在两个不同的集合中为一个元素保留了多少实例?,java,collections,Java,Collections,如果我有一个MyClass的实例,让我们称之为myElement,然后我将它添加到两个列表、队列、映射或任何东西中。它将在内存中保存多少次 MyClass myElement = new MyClass(); List<MyClass> list1 = new ArrayList<MyClass>(); PriorityQueue<MyClass> queue1 = new PriorityQueue<MyClass>(); list1.ad
MyClass myElement = new MyClass();
List<MyClass> list1 = new ArrayList<MyClass>();
PriorityQueue<MyClass> queue1 = new PriorityQueue<MyClass>();
list1.add(myElement);
queue1.add(myElement);
MyClass myElement=new MyClass();
List list1=新的ArrayList();
PriorityQueue queue1=新建PriorityQueue();
列表1.添加(myElement);
队列1.添加(myElement);
我是否只保存一次,并且两个列表元素都指向内存中的那个位置?或者我会将其保存两次吗?无论您添加了多少列表,都只有一个实例
简言之,同样的情况。所以只有一个。您正在推送类的引用。无论你推到哪里,它都会指向同一个内存位置
只有一个实例将存在。只有一个实例。您正在为每个列表添加引用。