Page 35 - 4656
P. 35
Алгоритми і структури даних. Лабораторний практикум.
Ми бачимо, що в отриманій множині два однакові
елементи зі значенням 10.
Тип колекцій TreeSet у Java – це упорядкована множина, і
відповідно до інтуїтивних понять про множину її елементи не
повинні повторюватися. Наприклад, в результаті операцій
TreeSet<Integer> set = new TreeSet<>();
set.add(10);
set.add(5);
set.add(10);
set.add(20);
set.add(15);
System.out.println(set);
буде виведено
[5, 10, 15, 20]
Спроба додати до множини елементи з тим самим
значенням ігноруються.
Але навіть для такого типу, як Integer, можна добитися
того, щоб у TreeSet<Integer> були елементи, які повторюються.
Найпростіший спосіб це зробити полягає в тому, щоб створити
TreeSet з компаратором, який забезпечує, щоб усі елементи були
нерівні між собою. Метод compareTo() такого компаратора може
повертати будь-яке число, крім 0.
Спробуємо:
TreeSet<Integer> set = new TreeSet<>(
new Comparator<Integer>(){
@Override
33