包含不同类型对象的 ArrayList 是否使用不同的内存量?

2022-09-02 22:54:51

例如,如果您要有

    int a=2; int b=3;
    ArrayList<Integer>integers=new ArrayList<Integer>();
    integers.add(a); integers.add(b);

    String c="cow"; String d="deer";
    ArrayList<String> strings= new ArrayList<String>();
    strings.add(c); strings.add(d);

它们会占用不同的内存量吗?任何帮助/答案将不胜感激,谢谢!


答案 1

ArrayLists本身只不过是引用的集合,无论它们持有什么类型的对象,它们都占用相同的内存量(如果大小相同)。但是,ArrayList 引用的项都像您预期的那样占用不同的内存量。


答案 2

ArrayList 只不过是引用的集合,因此 ArrayList 的大小不取决于它所指向的对象的类型。因此,ArrayList 的内存不依赖于引用对象类型。