Wan-Derer, братан, иди учи матчасть. Это очень сложный вопрос, чтобы разбираться в нём интуитивно. Очень много факторов.
Сет будет О(n) сложен по времени и потребует дополнительно О(n) памяти. Память небесплатная, могут случиться кэш-миссы, плюс боксинг примитивов...
Но O(n²) есть О(n²). На больших объемах данных это будет медленно.
Так что самый нормальный вариант решить эту загвоздку это бенчмарк.
Александр Ли, у тебя разметки так себе. Единственная кнопка в линеарлэйауте, проще положить во фрейм.
Ресайклер во фрейме, и у ресайклера высота wrap_content. У тебя так скролл сломается, не надо так делать. Сделай match_parent. И фрейм тогда не нужен.