所以我唯一的想法就是为什么会出现这种情况,那个创建的类的每个对象都带有一个相同的数组列表,所以它对内存的使用很差?
答案 0 :(得分:0)
我同意你的推理。如果你只有几个类的实例,那就不好了,但随着你创建的越来越多,arrayList元素的总量呈指数增长。另外,向arrayList添加更多元素非常昂贵(因为实现涉及创建具有更多元素的全新数组)。因此,想象一下,向100个数组列表中添加1个元素,每个元素100个元素的速度有多慢。它的效率非常低,我宁愿将特定类的所有实例的arrayList作为类外的变量,只需将arrayList作为参数传递。