Массив целых чисел или список, что весит больше?
Оговоримся, что мы сравниваем массив и список основанный на массиве - ArrayList.
Вообще, правильный ответ дали сразу же.
Мы не можем в списке хранить примитивы, а в массиве можем.
Примитивы весят меньше классов оберток.
А значит, массив примитивов весит меньше списка оберток 🎮
Но возник вопрос, а что если будет массив оберток?
В этом случае список все равно будет весить больше 🙃.
Список - это объект
Массив - это объект
Но список основан на массиве, и внутри объекта списка лежит объект массива. И внутри ArrayList лежит не только массив но и другие поля, которые тоже занимают память.
Это как с матрешкой. Большая матрешка с маленькой внутри не могут весить меньше, чем отдельно маленькая матрешка 🫥
Вроде разобрались, список жирнее.
Дабы не быть голословным, вот некоторая инфа о том сколько памяти занимают разные объекты в Java:
🎮 Memory usage of some typical Java objects
🎮 Sizes of primitive types
🎮 How to calculate the memory usage of a Java array
Список весит больше массива. Вроде бы все просто, но есть одно маленькое но.
Допустима ситуация, при которой список будет весить меньше массива.
Сможете ли вы описать такой кейс?
Post #218
418

- 🔥 9
- 👍 5