Подтвердить что ты не робот

Разница между методами размера и длины?

В чем разница между .size() и .length? .size() только для массивов, а .length только для массивов?

4b9b3361

Ответ 1

length является константой, которая используется для определения емкости хранения массива, а не количества элементов в массиве

Пример:

int a[] = new int[5]

a.length всегда возвращает 5, который называется емкостью массива, поэтому длина всегда возвращает значение CAPACITY. но

"количество элементов в массиве называется размером"

Пример:

int a[] = new int[5]
a[0] = 10

В результате получится a.size = 1 и a.length = 5.

size() работает с коллекцией, length работает с массивами в java

Ответ 2

size() - это метод, указанный в java.util.Collection, который затем наследуется каждой структурой данных в стандартной библиотеке. length - это поле на любом массиве (массивы - это объекты, вы просто не видите класс обычно), а length() - это метод на java.lang.String, который в любом случае является тонкой оболочкой на char[].

Возможно, по дизайну массивы и строки неизменяемы, и все подклассы коллекции верхнего уровня изменяемы. Итак, где вы видите "длину", вы знаете эту константу, и где вы видите "размер", это не так.

Ответ 3

length variable:

В Java массив (не java.util.Array) является предопределенным классом в самом языке. Чтобы найти элементы массива, дизайнеры использовали переменную длины (длина - член поля в предопределенном классе). Они должны были указать length(), чтобы иметь однородность в Java; но не сделал. Причина в производительности, выполнение переменной длины быстрее, чем вызов метода length(). Это похоже на сравнение двух строк с == и equals(). equals() - вызов метода, который занимает больше времени, чем выполнение оператора ==.

size() method:

Используется для нахождения количества элементов, присутствующих в классах коллекции. Он определен в интерфейсе java.util.Collection.

Ответ 4

Я ставлю (не указан язык) size() возвращает свойство length.

Однако допустимый цикл for должен выглядеть так:

for (int i = 0; i < values.length; i++) {}

Ответ 5

Исходя из синтаксиса, я предполагаю, что это некоторый язык, который является потомком C. В соответствии с тем, что я видел, length используется для простых элементов коллекции, таких как массивы, и в большинстве случаев это свойство.

size() является функцией и используется для динамических объектов коллекции. Однако для всех целей использования вы не найдете каких-либо различий в результатах, используя любой из них. В большинстве реализаций размер просто возвращает свойство length.