Ну смотри у тебя есть users(это list) и он implement интерфейс Iterable<?> в котором есть методы hasNext and next(который возвращает следующие значения массива) то есть в "cn" записываеся первое значение в листе "users" и потом можешь его использовать. (этот цикл удобен тем что он точно переберет все значения твоего list-a, в этом его и преимущество, но если ты хочешь перебрать только половину то ничего не получится
redsabien: Спасибо большое за разъяснение. А как мне записать эти значения в строковый массив? String log[?] какую переменную мне в таком случае, вставить для итерации в индекс массива?
интерфейс iterator имеет три метода hasNext(который возвращает true если есть элемент) и next(который возвращает элемент твоего массива или листа)
Грубо говоря, тк users это List то в нем реализованы методы интерфейса iterator значнит условно программа "for-each" будет вызывать эти методы сначала hasNext, а потом next и потом присваивать значение первому твоему аргументу "cn"
И что тебе нужно записать в строковый массив.
List это не массив, а там условно у каждого элемента ссылка на следующий элемент.
Тоже самое ты можешь написать обычным for вот так
List users = dab.getAllUsers();
for (int i =0; i < users.size(); i++) {
User cn = users.get(i);
String log = "Text" + cn.getSomemethod() + "etc";
}