티스토리 뷰
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 |
댓글
공지사항