В Set избранного оказались два одинаковых товара
class Product(val id: Long, val title: String)
val favorites = mutableSetOf<Product>()
favorites.add(Product(42, "Кроссовки"))
favorites.add(Product(42, "Кроссовки"))
println(favorites.size)
Товар пришёл из сети дважды, и в списке избранного он показан два раза: код печатает 2. Почему множество не отбросило дубль?
- Обычный class сравнивается по ссылке
- mutableSetOf не проверяет повторы
- Свойства должны быть var, а не val
- Set сравнивает только поля типа String
