我知道当我向一些集合(如LinkedList)添加对象时,实际上并不是将元素直接添加到集合中,而是向集合中添加一个节点来提供链接功能,这个节点有一个引用指向我添加到集合中的对象。所有Java集合类都是这样吗?例如,当我执行以下操作时:
List<String> list = new ArrayList<String>();
list.add("Car");
字符串对象"Car"是直接添加到列表中,还是只添加指向"Car"的节点到列表中?
此外,我能认为这是代理设计模式吗?
我知道当我向一些集合(如LinkedList)添加对象时,实际上并不是将元素直接添加到集合中,而是向集合中添加一个节点来提供链接功能,这个节点有一个引用指向我添加到集合中的对象。所有Java集合类都是这样吗?例如,当我执行以下操作时:
List<String> list = new ArrayList<String>();
list.add("Car");
字符串对象"Car"是直接添加到列表中,还是只添加指向"Car"的节点到列表中?
此外,我能认为这是代理设计模式吗?
private transient Object[] elementData;
List
中。
ArrayList
将添加的String
直接存储在内部使用的数组中。 - MrSmith42Node
对象一样的包装器?而与'SrrayList'相关的答案是NO。顺便提一下,在LinkedList
的Node
中也有对添加对象的引用。 - MrSmith42