Ребят, не могу сообразить, почему это правильно:
for (int i = 1; i < list.size() ; i++) {
if(list.get(i-1).length()>list.get(i).length()){
System.out.println(i);
break;
}
}
а это:
for (int i = 0; i < list.size() ; i++) {
if(list.get(i).length()>list.get(i+1).length()){
System.out.println(i);
break;
}
}
- нет?
в первом варианте вывод : 2, что принимает компилятор, но не соответствует логике, ведь под индексом "2" находится третий элемент листа "папа", а первый элемент, нарушающий упорядоченность по возрастанию - второй, т.е. под индексом 1 (потому что два первых слова имеют одинаковую длину, соответственно - второе уже нарушает упорядоченность по возрастанию) , что и выводит мой первый вариант решения.
Где я не правильно мыслю?