输入:
dupName = (ERIC,KAREN)
(ERIC,JASON)
(ERIC,ANTHONY)
预期产出:
(ERIC,KAREN,JASONC,ANTHONY)
我使用dupName.reduce(_ + _._2)
,总是会收到错误:
[error]found : String
[error] required: (String, String)
答案 0 :(得分:0)
reduce会将A
的所有值聚合为单个值A
。或者在您的情况下,将多个(String, String)
汇总到一个(String, String)
中。或者在函数形式中,这是一个reduce函数:
(concatenatedPair : (String, String), currentPair : (String, String) => (String, String))
如果你想做你想做的事,你可以尝试映射,如下:
val arr = List(("ERIC", "JASON"), ("ERIC", "ANTHONY"), ("ERIC", "KAREN"))
val newArr = arr.flatMap(x => List(x._1, x._2)).distinct
// newArr is now List(ERIC, JASON, ANTHONY, KAREN)
这只是一个例子,因为可能有更有效的方法(例如:将字符串放入Set
)