티스토리 뷰

728x90

 


이터러블

• 모든 반복 가능한 객체의 조상

     - 반복 가능하다 -> 시작과 끝이 있다 -> 범위가 있다.

     ex) Array, Collection, Progression,  ...

 

Progression

• 코틀린에서 수열을 표현할 수 있는 클래스
• 시작과 끝이 있고 범위가 있다.
• 구간이란 개념이 있다.
     - 다음 요소로 이동할 때 마다 구간만큼 이동한다.
               ex) 시작 : 1, 끝 : 10, 구간 : 2 이면 1, 3, 5, 7, 9 이런 식으로 진행
     - 구간이 1인 progression을 특별히 range라고 한다.

val PROGREESION1 = 1..10 step 2 // 1부터 10까지 2씩
val PROGREESION2 = 10 downTo 1 step 2 // 10부터 1까지 2씩
val PROGREESION3 = (1..10).reversed() step 5 // 10부터 1까지 5씩

PROGREESION1.forEach {println(it)} // 1 3 5 7 9 출력
println(PROGREESION1) // 1..9 step 2 출력 : (1, 3, 5, 7, 9)이기 때문에 1..9 step 2와 같음.
PROGREESION2.forEach {println(it)} // 10 8 6 4 2 출력
println(PROGREESION2) // 10 downTo 2 step 2 출력 : (10, 8, 6, 4, 2)이기 때문에 10 downTo 2 step 2와 같음.
PROGREESION1.forEach {println(it)} // 10 5 출력
println(PROGREESION3) // 10 downTo 5 step 5 출력 : (10, 5)이기 때문에 10 downTo 5 step 5와 같음.

 

Range

• 구간이 1인 Progression

val RANGE1 = 1..10 // 1부터 10까지 1씩
val RANGE2 = 1 until 10 // 1부터 10까지 1씩, 10은 제외
val RANGE3 = 'A'..'z' // 'A'부터 'z'까지 1씩,
val RANGE4 = 'ㄱ'..'ㅎ' // 'ㄱ'부터 'ㅎ'까지 1씩,
RANGE1.forEach {println(it)} // 1 2 3 4 5 6 7 8 9 10 출력
RANGE2.forEach {println(it)} // 1 2 3 4 5 6 7 8 9 출력
RANGE3.forEach {println(it)} // A B C D ... w x y z 출력
RANGE4.forEach {println(it)} // ㄱ ㄲ ㄳ ㄴ ... ㅋ ㅌ ㅍ ㅎ 출력

 

Collction

• 컬렉션도 Iterable이다.

val LIST1 = listOf<Int>(1, 3, 2, 6, 5)
val SET1 = setOf<Int>(11, 12, 11, 20, 15)
val MAP1 = mapOf<String, Int>("1" to 1, "2" to 2)
LIST1.forEach {println(it)} // 1 3 2 6 5 출력
SET1.forEach {println(it)} // 11 12 20 15 출력
MAP1.forEach {println(it)} // 1=1 2=2 출력

* 컬렉션 선언부를 따라 들어가면 iterable이 나옴.

 

 

 

 

 

 

이 글은

패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online

강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.

 


728x90

'📱 Android > 💻 Kotlin' 카테고리의 다른 글

[Android/Kotlin] 11. 예외 처리  (0) 2022.10.07
[Android/Kotlin] 10. 반복문  (0) 2022.10.06
[Android/Kotlin] 8. 컬렉션(Collection)  (0) 2022.10.05
[Android/Kotlin] 7. 배열  (0) 2022.10.04
[Android/Kotlin] 6. 흐름 제어  (1) 2022.10.04
댓글
공지사항