Разные контейнеры/коллекции разных объектов имеют разные интерфейсы доступа. Это нормально. Но часто в произвольный момент можно позабыть, какой из методов необходимо использовать для узнавания количества элементов, содержащихся в этом нечто.
Итак, поехали.
Простой массив
int [] array = new int[10];
int length = array.length;
Здесь .length — даже не метод. Он выглядит как простое публичное поле класса.
org.json.JSONArray
JSONArray jsonArray = new JSONArray();
int length = jsonArray.length();
А вот здесь length() - уже метод)
java.util.List
List<Integer> list = new ArrayList<Integer>();
int length = list.size();
android.widget.Adapter
Adapter adapter = new ArrayAdapter<Integer>(getContext(), android.R.layout.simple_list_item_1, new int[10]);
int length = adapter.getCount();
java.lang.reflect.Array
int [] array = new int[10];
int length = Array.getLength(array);
Хоть это и не класс, содержащий в себе что-то, но метод для определения длины массива он содержит =)
В общем, если погуглить и постараться, то список можно продолжать =)
Найдутся length, size, count в разных комбинациях с префиксом get и без.
Это всё учить и запоминать не надо. В нужные моменты само вспомнится, в ненужные IDE спасёт подсказкой.