为两个不同集合中的元素保留了多少个实例?

时间:2014-02-17 13:45:17

标签: java collections

如果我有MyClass的实例,我们将其称为myElement,然后将其添加到两个列表,队列,地图或其他内容中。它会在记忆中保存多少次?

MyClass myElement = new MyClass();

List<MyClass> list1  = new ArrayList<MyClass>();
PriorityQueue<MyClass> queue1 = new PriorityQueue<MyClass>();

list1.add(myElement);
queue1.add(myElement);

我是否只将其保存一次,并且两个列表元素都指向内存中的该位置?或者我会保存两次吗?

2 个答案:

答案 0 :(得分:7)

无论您要添加多少个列表,都只有一个实例。

简而言之。所以只有一个。

答案 1 :(得分:0)

你正在推动课程的参考。无论你在哪里,它总是指向相同的内存位置。

只存在单个实例。