Java String array: существует ли размер метода?


Answers

array.length

Это фактически конечный элемент массива, а не метод.

Question

Я array_size() из php-фона и в php, есть array_size() которая сообщает вам, сколько элементов в массиве используется.

Есть ли аналогичный метод для массива String[] ? Благодарю.




Ответ «Все они». Ява-массив выделяется фиксированным количеством слотов элементов. Атрибут «длина» расскажет вам, сколько. Это число является неизменным для жизни массива. Для масштабируемого эквивалента вам нужен один из классов java.util.List - где вы можете использовать метод size (), чтобы узнать, сколько элементов используется.

Однако есть «В использовании», а затем есть « Использовать» . В массиве объектов класса вы можете иметь слоты элементов, элементы которых являются нулевыми объектами, поэтому, хотя они подсчитываются в атрибуте длины, но определения большинства людей, они не используются (YMMV, в зависимости от приложения). Нет встроенной функции для возврата нулевых / ненулевых значений.

У объектов списка есть еще одно определение «Использовать». Чтобы избежать чрезмерного создания / уничтожения базовых структур хранения, в этих классах обычно имеется дополнение. Он используется внутренне, но не учитывается в возвращаемом методе size (). И если вы попытаетесь получить доступ к этим элементам без расширения списка (с помощью методов add), вы получите недопустимое исключение индекса.

Таким образом, для списков вы можете использовать «In Use» для непустых, зафиксированных элементов, всех совершенных элементов (включая нулевые элементы) или всех элементов, включая выделенное пространство расширения.




В java есть поле length которое вы можете использовать на любом массиве, чтобы узнать его размер:

    String[] s = new String[10];
    System.out.println(s.length);



Все приведенные выше ответы являются правильными. Важно наблюдать, что массивы имеют атрибут длины, но не длину. Всякий раз, когда вы используете строки и массивы в java, вы можете столкнуться с тремя основными моделями:

  1. String s = новая строка ("vyyasagar");
    System.out.println (s.length ()); // В этом случае мы используем только String. Нет атрибута длины для строк. мы должны использовать метод length ().
  2. int [] s = новый int [10]; System.out.println (s.length); // здесь мы используем атрибут length массивов.
  3. String [] s = новая строка [10];
    System.out.println (s.length); // Здесь даже если тип данных - String, это не одна String. s является ссылкой для массива строк. Поэтому мы используем атрибут length массивов, чтобы выразить, сколько строк может поместиться в этот массив.



Кроме того, вероятно, полезно отметить, что если у вас многомерный массив, вы можете получить соответствующее измерение, просто добавив '[0]' к массиву, который вы запрашиваете, до тех пор, пока не прибудете на соответствующую ось / кортеж / измерение.

Скорее всего, это объясняется следующим кодом:

public class Test {
    public static void main(String[] args){
        String[][] moo = new String[5][12];

        System.out.println(moo.length); //Prints the size of the First Dimension in the array
        System.out.println(moo[0].length);//Prints the size of the Second Dimension in the array
    }

}

Что дает результат:

5
12





Links