-3

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

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

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

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

Nowhere Man
  • 15,995
  • 33
  • 19
  • 29
  • 3
    Нет такого "retern". Есть "return" - метод заканчивает свою работу и возвращает заданное значение. – Byb Dec 03 '23 at 07:12
  • да, опечатался, но вопрос в другом. допустим есть условие в случае со строками if(o1.length > o2.length) { retrn 1} else if (o1.length < o2.length) { return -1}.это типа сортировка по возрастанию длины. в данном примере что подразумевают эти команды return? – Абдулла Dec 03 '23 at 07:17
  • 2
    вам же ответили, возвращается либо 1, либо -1, в зависимости от того, какое из условий сработает – ZxNuClear Dec 03 '23 at 07:56
  • 1
    https://metanit.com/java/tutorial/2.17.php – MBo Dec 03 '23 at 08:27
  • 1

2 Answers2

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

2

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

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

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

-1 - значит при сортировке по возрастанию o1 должен стоять раньше o2.
1 - значит при сортировке по возрастанию o1 должен стоять после o2.
0 - o1 и o2 равны, порядок относительно друг друга не изменяется.
Maxgmer
  • 2,798
  • 2
    ахах, да, вы правильно меня поняли, скорее всего эти команды прописаны в реализации, спасибо за доходчивый ответ – Абдулла Dec 03 '23 at 08:37
  • @Абдулла пожалуйста) если больше нет вопросов, нажмите галочку рядом с ответом. – Maxgmer Dec 03 '23 at 08:39
  • 1
    @NowhereMan понял, спасибо, ща исправлю – Maxgmer Dec 03 '23 at 08:44