2017-12-02 15 views
0

내가 스칼라에서 튜플의 목록을 목록에서 고유 한 값을 찾기 :스칼라 : 튜플

("BLUE", 2, 4) 
("RED", 2, 29) 
("GREEN", 29, 0) 
("RED", 18, 2) 

이 목록 것은 매우 깁니다. 고유 한 색 (튜플의 첫 번째 문자열) 목록을 제공하는 효율적인 목록 연산을 찾고 있습니다. 즉, 나는 이것을 찾고있다 :

List("RED", "BLUE", "GREEN") 

순서는 나에게 정말로 중요하지 않다. 반복적으로 수행 할 수 있음을 알고 있지만 함수형 프로그래밍을 배우려고합니다.이 작업을 수행하는 방법을 잘 모르겠습니다.

감사합니다.

답변

1

방법에 대해 :

tupleList.map(_._1).distinct

1

당신이 말한대로, 당신은 한 번만 통과 할 것이다, 긴 List 있다면.

tups.foldLeft(Set[String]())(_+_._1).toList 
+0

이 솔루션은 목록이 클 때 분명히'map/distinct'보다 낫습니다. –