Получить первые 10 статей у которых больше всего лайков
public class Article {
private Long id;
private String name;
private final Set<Long> likes = new HashSet<>();
Одна запись в хешсете это 1 лайк }
Сами Статьи хранятся в private final Map<Long, Article> articles = new ConcurrentHashMap<>();
как получить первые 10 статей с большим количеством лайков, если лайков нет просто первые 10 статей.
Я получаю List<Article> articles = new ArrayList<>(getArticleStorage().getAll());
Дальше затрудняюсь как отсортировать их. Нужно использовать компаратор?
@Override
public int compareTo(Article o) {
int a = this.getLikes().size();
int b = o.getLikes().size();
return compareTo(b)
}
пытаюсь сделать компаратор, не получется доделать его