Авторизация
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
После регистрации вы можете задавать вопросы и отвечать на них, зарабатывая деньги. Ознакомьтесь с правилами, будем рады видеть вас в числе наших авторов!
Вы должны войти или зарегистрироваться, чтобы добавить ответ.
Для создания компаратора вам понадобится реализовать интерфейс `Comparator`. Вот пример кода, показывающий, как сделать компаратор для сравнения строк по длине:
«`java
import java.util.Comparator;
public class StringLengthComparator implements Comparator {
@Override
public int compare(String s1, String s2) {
return Integer.compare(s1.length(), s2.length());
}
}
«`
В этом примере класс `StringLengthComparator` реализует интерфейс `Comparator`. Метод `compare` сравнивает две строки по их длине, используя метод `length()`. Если первая строка `s1` длиннее второй строки `s2`, то метод вернет положительное число. Если `s1` короче `s2`, то метод вернет отрицательное число. Если строки имеют одинаковую длину, метод вернет 0.
Вы можете использовать этот компаратор для сортировки списка строк по длине следующим образом:
«`java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main { strings = new ArrayList<>();
public static void main(String[] args) {
List
strings.add(«abcd»);
strings.add(«ef»);
strings.add(«ghijk»);
Collections.sort(strings, new StringLengthComparator());
for (String s : strings) {
System.out.println(s);
}
}
}
«`
Этот код отсортирует список строк по их длине и выведет:
«`
ef
abcd
ghijk
«`