scalac 학습 노트 (2): 추출 기와 편 함수
2397 단어 빅 데이터
사례 1: 한 배열 에서 25 보다 작고 3 이상 의 이름 을 걸 러 냅 니 다.배열 val wordFrequencies = ("habitual", 6): ("and", 56): ("consuetudinary", 2):: ("additionally", 27) :: ("homely", 5) :: ("society", 13) java 8 의 함수 식 쓰기 (대상 이 내장 되 어 있 음) list. stream (). filter (o - > o. getSize () < 25 & o. getSize () > 3). map (A: getName). collect (Collectors. toList ());
scalac 쓰기 1:
wordFrequencies.filter(wf => wf._2 > 3 && wf._2 < 25).map(_._1)
쓰기 에 있어 서 자바 8 과 거의 일치 합 니 다.
최적화 쓰기 1: 패턴 일치 형식의 익명 함수 (위의 매개 변수 구조 보다 선명 하 게 보 입 니 다)
wordFrequencies.filter { case (_, f) => f > 3 && f < 25 } map { case (w, _) => w }
편 함수 표기 법
val pf: PartialFunction[(String, Int), String] = {
case (word, freq) if freq > 3 && freq < 25 => word
}
wordFrequencies.collect(pf) // List("habitual", "homely", "society")
관건 적 인 표기 법 은 collecet 의 정의 이 고 A, B 는 각각 list 대상 의 key, value 이다. def collect[B](pf: PartialFunction[A, B]): Seq[B]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spark 의 2: 원리 소개Google Map/Reduce 를 바탕 으로 이 루어 진 Hadoop 은 개발 자 에 게 map, reduce 원 어 를 제공 하여 병렬 일괄 처리 프로그램 을 매우 간단 하고 아름 답 게 만 들 었 습 니 다.S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.