stream.distinct (), возвращающий неделимые элементы - PullRequest
0 голосов
/ 24 марта 2020

У меня проблемы с получением моего кода для правильного возврата списка отдельных элементов. У меня есть список объектов listToObserve, которые содержат мой GroupModel с SimpleStringProperty, который я использую для определения равенства методом equals.

class GroupModel(name: String = "myGroup") {
    val nameProperty = SimpleStringProperty(this, "groupName", name)
    var name: String by nameProperty

    override fun equals(other: Any?): Boolean {
        if (this === other) return true
        if (javaClass != other?.javaClass) return false
        other as GroupModel
        if (nameProperty.value != other.nameProperty.value) return false
        return true
    }
}

Вот что я пробовал:

val distinctGroups = listToObserve.map { it.group }.stream().distinct().collect(Collectors.toList()).toObservable()

Мое понимание этого совершенно другое, я должен сравнивать каждую группу по имени, и если она равна, она не будет добавлять ее, но она добавляет группы с точно таким же именем. Может ли кто-нибудь помочь мне определить мою ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...