- 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.
- Implementing VMware Horizon 7(Second Edition)
- 騰訊iOS測試實踐
- Learning RabbitMQ
- 數據結構(Java語言描述)
- Python零基礎快樂學習之旅(K12實戰訓練)
- 精通Scrapy網絡爬蟲
- The Data Visualization Workshop
- 精通網絡視頻核心開發技術
- HTML5+CSS3網站設計基礎教程
- QGIS Python Programming Cookbook(Second Edition)
- Mastering AWS Security
- R語言:邁向大數據之路(加強版)
- SSH框架企業級應用實戰
- Hands-On Dependency Injection in Go
- Kotlin語言實例精解