Привет всем, меня попросили написать следующий метод для домашней работы, и мне нужно уточнить. В принципе, я хочу знать, является ли параметр Comparable, заданный как параметр, частью массива сравнимыхList. Предполагая, что массив отсортирован, мне сказали прекратить проверку массива, если у сопоставимогоList есть элемент в нем, или если элемент меньше, чем следующий элемент массива. Я использовал break, но я не уверен, что если break вытащит меня из цикла for for, чтобы избежать проверки всего массива, если какое-либо из условий истинно. Я хочу убедиться, что если в массиве 50 000 элементов, и я найду элемент в позиции 5, чтобы остановить проверку остальной части массива. Я никогда раньше не использовал перерыв, поэтому не уверен, приведет ли он меня из цикла for.Использование перерыва, чтобы выйти из усиленного цикла
public boolean contains(Comparable item) {
Comparable[] comparableList= getStore();
boolean isThere = false;
for(Comparable p : comparableList)
{
if(item.compareTo(p)==0)
{
isThere = true;
break;
}
if(item.compareTo(p)<0)
{
break;
}
}
return isThere;
}
Пробовали ли вы его? Что случилось? –
Ну вы * попробовали * это? Да, 'break' будет работать, но вы могли бы найти это для себя. Или, желательно (IMO), просто возвращайтесь напрямую, как только вы знаете ответ - нет необходимости в переменной 'isThere'. –
Код не является полным. У меня пока нет основного метода. Я пишу основной метод в конце задания, но я хочу убедиться, что эта часть права. – jorgeAChacon