Огромное преимущество здесь в том, что список уже отсортирован по возрастанию.А если это не так, то сначала просто отсортируйте его по длине, а затем примените операцию, которую вы хотите здесь.Или, если вы не хотите сортировать по длине, в приведенном ниже примере измените значение break
на continue
.
Учитывая, что у вас есть отсортированный список, главное - просто добавитьубедитесь, что первая сравниваемая строка совпадает по длине со второй сравниваемой строкой.И если они не совпадают по длине, то вы можете просто перейти к следующему слову во внешнем цикле, поскольку вам гарантированно будут видны все слова с одинаковой длиной, поскольку список отсортирован:
for(int i = 0; i<strings.size()-1; i++) {
for (int j = i+1; j<strings.size(); j++) {
if (strings.get(i).length() != strings.get(j).length()) break;
System.out.println(strings.get(i).compareTo(strings.get(j)));
}
}
Обратите внимание, это будет работать независимо от того, отсортирован ли список по возрастанию или уменьшению.