for

  • 자바가 인덱스 기반 for문과 for-each 문을 지원하는 반면 코틀린은 for-each 형태만 지원하며, 반자를 통해 접근하는 인자의 타입을 생략할 수 있다.

//java
List<String> names = ... // 이름목록

//for-each
for(String name : names) {
    Log.d("Name:", "name = " + name);
}
//kotlin
val names: List<String> = ...

//변수 name의 타입은 리스트 names를 통해 String으로 추론하므로
//타입을 굳이 명시하지 않아도 된다.
for(name in names) {
    Log.d("Name", "name=" + name)
}

for 문 에서의 인덱스 접근

  • for문 내에서 현재 항목의 인덱스가 필요할 경우, Collection.indicies 프로퍼티를 사용하면 컬렉션의 인덱스를 순환하며 인덱스 인자로 배열 내 항목에 접근할 수 있다.

범위

  • 코틀린에서는 순환 범위를 표현하기 위해 별도의 자료구조를 사용한다.

  • 범위(range)는 코틀린에만 있는 독특한 자료구조로, 특정 범위를 순환하거나 해당 범위내에 특정 항목이 포함되어 있는지 확인할 때 사용한다.

  • range는 .. 연산자를 사용하여 정의한다.

인덱스 순환을 위한 범위를 생성하는 경우 .. 연산자 대신에 until 함수를 사용하면 가장 마지막 값을 포함하지 않는 범위를 생성할 수 있다.

범위내에 특정 항목이 있는지 알아보려면 in 연산자를 사용한다.

downTo() : 역순으로 수행한다.

step() : interval 설정이 가능하다.

Last updated