我在Scala中有一个元组列表:
("BLUE", 2, 4)
("RED", 2, 29)
("GREEN", 29, 0)
("RED", 18, 2)
此列表很长。我正在寻找一个有效的列表操作,它会给我一个独特颜色列表(元组中的第一个字符串)。换句话说,我正在寻找这个:
List("RED", "BLUE", "GREEN")
订单对我来说并不重要。我知道这可以迭代完成,但我希望学习函数式编程,而且我不确定如何通过操作来实现这一点。
谢谢!
答案 0 :(得分:1)
怎么样:
tupleList.map(_._1).distinct
答案 1 :(得分:1)
如果它是一个很长的List
,如你所说,那么你只想要遍历它一次。
tups.foldLeft(Set[String]())(_+_._1).toList