Kotlin Reference (七) feature: Range
来源:互联网 发布:选择排序和冒泡算法 编辑:程序博客网 时间:2024/06/05 16:07
KotLin 相关文档
官方在线Reference
kotlin-docs.pdf
Kotlin for android Developers 中文翻译
Kotlin开发工具集成,相关平台支持指南
Kotlin开源项目与Libraries
Kotlin开源项目、资源、书籍及课程搜索平台
Google’s sample projects written in Kotlin
Kotlin and Android
Range
Range 范围对象,可看成是一组元素的集合。
有三个类型:IntRange、LongRange、CharRange
它们分别主要实现了 IntProgression、LongProgression、CharProgression
示例
以下示例了Range对象的一些操作:
使用循环操作;非循环直接使用函数遍历;
step、until、downTo、first、last、all 等一些关键字与函数用法
package com.stone.features/** * desc : * author: stone * email : aa86799@163.com * time : 13/06/2017 10 00 */object RangeAction { fun range1() { for (x in 1..5) {//include 5 print("stone--range1-->$x\t") } println() } fun range2() { for (x in 0..10 step 2) {//step2 ==> x+=2 print("stone--range2-->$x\t") } println() } fun range3() { for (x in 0 until 10 step 2) {//until 10 ==> not include 10 print("stone--range3-->$x\t") } println() } fun range4() { for (x in 10 downTo 0 step 2) {//downTo 0 ==> >=0 print("stone--range4-->$x\t") } println() } fun range5() { val range = (10 downTo 0 step 2) println("stone--range5-->${range.first}\t${range.last}\t${range.step}\t${range.isEmpty()}") for (x in range.step(3)) {//step(set:Int) ==> change source step } val check = range.all { it >= 0 } //all match fun expression println("stone--range5-->${range.step(3)}》$check ${range.max()} ${range.count()}") /* range type is IntProgression other type : CharProgression LongProgression */ print("stone--range5-->") for (c in 'a'..'z') { print("$c ") } println() for (x in 0L until 10L) { } } fun range6() { var range = (0 until 10 step 2) print("stone--range6-->") //Spliterator (java8) 分割迭代 递归的将集合 分割成更小的集合 进行迭代, 当不可再分时 返回null range.spliterator().trySplit().forEachRemaining { print("$it ") } //"it" refer to the element of collection println() print("stone--range6-->reverse-->") range = range.reversed() range.filter { i -> i > 2 }.map { it / 1.8 }.forEach({ print(String.format("%.2f ", it)) }) println()// range.forEach(::println) //method reference } fun range7() { var range1:IntRange = 1.rangeTo(110) var range2:LongRange = 1L.rangeTo(110L) var range3 = 10.downTo(1) var range4 = 10.until(20) }}fun main(args: Array<String>) { RangeAction.range1() RangeAction.range2() RangeAction.range3() RangeAction.range4() RangeAction.range5() RangeAction.range6()}
阅读全文
0 0
- Kotlin Reference (七) feature: Range
- Kotlin Reference (七) Returns and Jumps
- Kotlin(七)
- Kotlin学习之Range
- Kotlin Reference (六) 接口
- kotlin Unresolved reference: kotlinx
- Kotlin Reference (二) Idioms
- Kotlin Reference (五) Packages
- Kotlin Reference (十) Interfaces
- Kotlin Reference (十二) Extensions
- Kotlin Reference (十四) Generics
- kotlin入门(五)区间range
- Kotlin Reference (一) Basic Syntax
- Kotlin Reference (四) control flow
- Kotlin Reference (一) Basic Syntax
- Kotlin Reference (三) Coding Conventions
- Kotlin Reference (四) Basic Types
- Kotlin Reference (六) Control Flow
- [RK3288][Android6.0] Audio中的单声道到双声道的转换处理过程
- EAS 供应链,业务类型相关
- 【HTTP header】【Content-disposition 内容部署】
- MySQL锁系列(三)之 redo log
- Packet for query is too large (30697 > 1024)解决方案
- Kotlin Reference (七) feature: Range
- 转载-CSS导航菜单水平居中实例
- 编译caffe提示错误/usr/bin/ld: cannot find -lhdf5_hl
- spinner的简单使用
- Binary Search
- 集合处理的一些规范
- 关于视频录制预览摄像头拉伸问题
- JS读取XML字符串生成树结构
- 获取系统时间