Scala方法,返回在字母/字典中找到的第一个字符串

时间:2016-11-30 03:50:53

标签: string scala alphabetical

例如此代码

val stringTuple = ("BLACK", "GRAY", "WHITE")
firstInAlphabet(stringTuple)

应该返回"BLACK"。你会如何定义firstInAlphabet

我个人更喜欢简单快速的实现,而不是复杂的实现,这些实现可以覆盖很多情况。

1 个答案:

答案 0 :(得分:2)

t.productIterator.map(_.asInstanceOf[String]).min

productIterator将元组的元素转换为迭代器。这会丢失类型信息,因此我们必须强制转换元素,然后使用min来查找第一个元素。

如果你的元组中有非String元素,那么这个版本应该可以解决这个问题:

t.productIterator.map(_.toString).min

而不是强制转换为String,而是转换为String。