- Android Development with Kotlin
- Marcin Moskala Igor Wojda
- 241字
- 2021-07-02 18:48:38
The for loop
The classic Java for loop, where we need to define the iterator explicitly, is not present in Kotlin. Here is an example of this kind of loop in Java:
//Java String str = "Foo Bar"; for(int i=0; i<str.length(); i++) System.out.println(str.charAt(i));
To iterate through a collection of items from start to finish, we can simply use the for loop instead:
var array = arrayOf(1, 2, 3) for (item in array) { print(item) }
It can also be defined without a block body:
for (item in array) print(item)
If a collection is a generic collection, then item will be smart cast to a type corresponding to a generic collection type. In other words, if a collection contains elements of type Int, the item will be smart cast to Int:
var array = arrayOf(1, 2, 3) for (item in array) print(item) // item is Int
We can also iterate through the collection using its index:
for (i in array.indices) print(array[i])
The array.indices param returns IntRange with all indexes. It is the equivalent of (1.. array.length - 1). There is also an alternative withIndex library method that returns a list of the IndexedValue property, which contains an index and a value. This can be deconstructed into these elements this way:
for ((index, value) in array.withIndex()) { println("Element at $index is $value") }
The construct (index, value) is known as a destructive declaration, and we will discuss it in Chapter 4, Classes and Objects.
- Instant Testing with CasperJS
- Clojure for Domain:specific Languages
- Learn Swift by Building Applications
- Java程序設計
- JavaScript入門經典
- Java EE核心技術與應用
- HTML 5與CSS 3權威指南(第3版·上冊)
- 人工智能算法(卷1):基礎算法
- Illustrator CS6設計與應用任務教程
- 跟戴銘學iOS編程:理順核心知識點
- Python Programming for Arduino
- 讓Python遇上Office:從編程入門到自動化辦公實踐
- C語言解惑
- 湖南省大學生計算機程序設計競賽試題與應用軟件開發類作品集萃(2005—2016)
- Android 5 Programming by Example