아래의 글은 드미트리 제메로프, 스베트라나 이사코바 저/오현석역,『Kotlin in Action』,에이콘출판사(2017)의 내용을 기반으로 작성하였습니다.

 

함수 동작 예제
filter 필터  
map 변환  
all 모든 원소 만족?  
any 만족 원소 하나라도 존재?  
count 원소 수 (숫자만 카운드 함)  
find 만족하는거 하나 findAny  
size 원소를 만들어서 최종 size  
groupBy 맵으로 변경  
flatMap 하위 리시트의 단일 리스트로 변환  
flatten 하위 리스트의 단일 리스트 그래도 반환  

 

지연 연산

sequence 사용

map > filter > : 매번 리스트가 생성되어 자원 낭비

list.asSequence().map().filter().toList()

// 원소의 sequence만 반환

 

시퀀스 만들기

 

// initial 0 incre 1
val naturalNumbers = generateSequence(0) { it + 1 }


// 0 to 100
val numbersTo100 = naturalNumbers.takeWhile( it <= 100 }


fun File.isInsideHiddenDirectory() = 
	generateSequence(this) { it.parentFile }.any { it.isHidden }
    
val file = File("/Users/.HiddenDir/a.txt")

println(file.isInsideHiddenDirectotry()}

+ Recent posts