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 шт):
Оператор 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
Если попытаться догадаться, опираясь на информацию, что вы предоставили (вы сказали идет какая-то сортировка), cкорее всего речь идет об интерфейсе Comparator или Comparable.
При сортировке, чтобы понять, в каком порядке расположить элементы, сортирующая функция должна знать, как сравнивать ваши элементы.
Этот код скорее всего поясняет, как оценивать ваши элементы при сортировке:
-1 - значит при сортировке по возрастанию o1 должен стоять раньше o2.
1 - значит при сортировке по возрастанию o1 должен стоять после o2.
0 - o1 и o2 равны, порядок относительно друг друга не изменяется.