강의로 돌아가기
-

질문드립니다.

def findByName(name:String) = personSet.find(_._1 == name).getOrElse((화사,4))

여기에서 personSet.find가 _._1로 접근하는데
Set 안에서의 (솔라, 1)도 Set인가요? Set List Array 상관없이 같은 형식으로 접근할 수 있는건가요?

작성중인 코드―LearnScala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
object LearnScala {
    def main(args: Array[String]): Unit = {
        // ① 내용을 수정할 수 없는 Set
        val set1 = Set("one", 1) 
        val set2 = Set(1,2,2,2,3,3,3) // 중복이 제거되고 Set(1, 2, 3)이 됨
        println(s"① $set2")

        // ② 값이 있는지 체크하는 방법은 괄호 안에 값을 넣어서 사용
        val oneExists = set2(1)  
        val fourExists = set2(4)  
        println(s"② oneExists: ${oneExists}, fourExists: ${fourExists}")

        // ③ set을 더하면 중복된 내용은 제거된 새로운 Set이 생성
        val concatenated = set1 ++ set2  
        println(s"③ $concatenated")

        // ④ Diff
        val diffSet = Set(1,2,3,4) diff Set(2,3)  
        println(s"④ ${diffSet}")


        /* ⑤ set.find 메소드를 이용해서 findByName이라는 메소드 생성
         * find는 조건에 맞는 값을 찾으면 검색을 중단
         * getOrElse는 일치하는 값이 없을 경우 넘겨줄 기본 값
         * getOrElse가 없을때 일치하는 값이 없으면 None
         */
        val personSet = Set(("솔라",1), ("문별",2), ("  휘인",3))  
        def findByName(name:String) = personSet.find(_._1 == name).getOrElse(("화사",4))  
        val findSolar = findByName("솔라")  // 값("솔라",1)을 찾아서 넘겨줌
        val findSun = findByName("태양")  //값이 없으므로 getOrElse에 있는 값("화사",4)이 들어감

        println(s"⑤ ${findSolar._2}, ${findSun._2}")
    }
}
1 개의 답변
프로그래머스

아니오, ("솔라", 1)는 튜플타입입니다.
튜플에 대해서는 이쪽 강의를 참고하세요.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.