使用排序的内部数据类创建Kotlin数据类的新实例

时间:2019-05-30 08:45:52

标签: list kotlin data-class

我有一个名为node *reverse (node *head) { // 2) reach the last element and return it if(head->next == NULL) { return head; } else { // 1) run revers for tail of our list node *new_head = reverse(head->next); // 3) relocate pointers // new_head = 5; // head = 4, head->next = 5, head->next->next = null head->next->next = head; // after this line head = 4, head->next = 5, head->next->next = 4 head->next = NULL; // after this line head = 4, head->next = null, head->next->next = 4 return new_head; // new_head = 5, new_head->next = 4 similarly recursion takes place further } } 的{​​{1}}数据类,有一次我需要从head = reverse (head); print(head); 数据类中删除一些Kotlin

作为输入,我得到一个ParcelBoxByID.kt的实例,我需要取回相同的Locker's,但排序为ParcelBoxByID.kt。我不确定在这种情况下是否甚至可以删除,因此创建ParcelBoxByID.kt的新实例还是创建副本也是可以接受的。

但是我的问题是:如何对数据类的内部列表进行排序,并仍然返回具有已排序内部类的父数据类?

我需要按ParcelBoxByID.kt对它们进行排序。因此,如果Locker's为0,则将其从新实例中删除,如果为其他任何值,则可以保留。

ParcelBoxByID.kt

ParcelBoxByID.kt

1 个答案:

答案 0 :(得分:0)

您可以复制数据类,并分配排序列表:

val copyWithSortedLockers = parcelBoxByID.copy(
    lockers = parcelBoxByID.lockers.sortedBy(Locker::status)
)