【发布时间】:2021-12-29 01:59:53
【问题描述】:
我有一个 Person 对象列表,这些对象与配偶关系按照它们在列表中出现的顺序相互关联。
enum class Gender {
MAN, WOMAN
}
data class Person(val name: String, val age: Int, val gender: Gender)
在列表中,每个具有 MAN 性别的人都是以下具有 WOMAN 性别的人的配偶(反之亦然),并且列表中的每个条目后面都是交替的性别,其中 MAN 性别是第一个。
理想情况下,该列表应类似于[MAN, WOMAN, MAN, WOMAN, MAN, WOMAN](显然,为了简单起见,它将是一个 Person 对象的列表,我在这里放了一个 Gender 列表),但它也可能类似于 [WOMAN, MAN, WOMAN, MAN, WOMAN, MAN]。在后一种情况下,第一个出现的 WOMAN 是最后一个出现的 MAN 的配偶。
如何使用函数式编程在 kotlin 中处理第二种情况。 我目前的方法包括检查第一个 Person 是否有性别女性,然后我删除列表中的第一个和最后一个对象,然后将它们添加到最后,但这并不完全是一个函数式编程解决方案。
有人可以指导我吗?
谢谢
【问题讨论】:
标签: kotlin functional-programming