return 1, return -1

Подскажите, пожалуйста, что значит return 1 и return -1 в конце методов, или в условии методов

Вопрос в следующем. Допустим, есть условие, в случае со строками

if (o1.length > o2.length) { return 1;} 
else if (o1.length < o2.length) { return -1;}

Это типа сортировка по возрастанию длины.
В данном примере что подразумевают эти команды return?


Ответы (2 шт):

Автор решения: Danila Kartovitskii

Оператор return используется в функциях для возвращения данных после выполнения работы самой функции.

На вашем примере

if(o1.length > o2.length) // если длина o1 (o1.length) больше, чем длина o2(o2.length) 
{ return 1 } // вернется 1 из функции
else if (o1.length < o2.length) // если длина o1 (o1.length) меньше, чем длина o2 (o.length)
{ return -1} // вернется -1 из функции

В данной функции ещё есть необработанный случай, при котором o1.length == o2.length

→ Ссылка
Автор решения: Maxgmer

Если попытаться догадаться, опираясь на информацию, что вы предоставили (вы сказали идет какая-то сортировка), cкорее всего речь идет об интерфейсе Comparator или Comparable.

При сортировке, чтобы понять, в каком порядке расположить элементы, сортирующая функция должна знать, как сравнивать ваши элементы.

Этот код скорее всего поясняет, как оценивать ваши элементы при сортировке:

-1 - значит при сортировке по возрастанию o1 должен стоять раньше o2.
1 - значит при сортировке по возрастанию o1 должен стоять после o2.
0 - o1 и o2 равны, порядок относительно друг друга не изменяется.
→ Ссылка