Android-Kotlin-区间与for&List&Map简单使用
区间与for:
package cn.kotlin.kotlin_base04 /**
* 区间与for
*/
fun main(args: Array<String>) { /**
* Kotlin中提供了区间,例如:存入1到100 , 在Java中可能要写多行代码,而在Kotlin中很简单,代码如下
* 1..100
*/
var numbers = 1..100 /**
* 用for循环打印
*/
for (n in numbers)
print("$n ") println("------------------------") var numbers2 = 20..25 /**
* 用for循环打印 有下标的详情
*/
for (n in numbers2.withIndex())
println("$n ") println("------------------------") /**
* 用for循环打印 有下标的
*/
for ((index, value) in numbers2.withIndex())
println("$index , $value ") println("------------------------") var numbers3 = 1..6 /**
* 用for循环打印 step(2) 是打印第二个 例如:123456 ,打印的是:135
*/
for (n in numbers3 step(2)) {
println("$n ")
} println("------------------------") /**
* 用for循环打印 step(3) 是打印第二个 例如:123456 ,打印的是:14
*/
for (n in numbers3 step(3)) {
println("$n ")
} println("------------------------") /**
* 反转 其实就是把数据倒过来,例如:1234 .reversed() 后 4321
*/
numbers.reversed()
}
执行结果:
List:
package cn.kotlin.kotlin_base04 /**
* 定义描述一个实体
*/
class Student(var name: String, var age: Int, var sex: String) /**
* List集合
*/
fun main(args: Array<String>) { /**
* 定义一个List集合,存入String字符串类型的数据
*/
var list :List<String> = listOf<String>("李小龙", "李元霸", "李连杰", "李云龙", "李子天") // 打印List集合里面的数据
for(lis in list) {
println("$lis ")
} println("------------------------------------------------") /**
* 定义一个List集合,存入Int整数类型的数据
*/
var listInt : List<Int> = listOf<Int>(1, 2, 3, 4, 5, 6, 7, 8 ,9) // 打印List集合里面的数据
for(lis in listInt) {
println("$lis ")
} println("------------------------------------------------") /**
* 定义一个List集合,存入float浮点型类型的数据
*/
var listFloat = listOf(10.0, 12.4, 54.6, 43.9, 24.7) // 打印List集合里面的数据
for(li in listFloat) {
println("$li ")
} println("------------------------------------------------") /**
* 定义一个List集合,存入Double双精度浮点型类型的数据
*/
var listDouble = listOf(90.0, 72.4, 74.6, 53.9, 84.7) // 打印List集合里面的数据
for(lis in listDouble) {
println("$lis ")
} println("------------------------------------------------") /**
* 定义一个List集合,存入Studnet实体
*/
var students = listOf<Student>(
Student("张三", 99, "男"),
Student("李四", 98, "女"),
Student("王五", 97, "男"))
for (student in students)
println("name:${student.name}, age:${student.age}, sex:${student.name}")
}
执行结果:
Map
package cn.kotlin.kotlin_base04 import java.util.* /**
* Map集合 键值对 K V
*/
fun main(args: Array<String>) { /**
* 定义Map Key类型是Int, Value类型是String
*/
var map1: TreeMap<Int, String> = TreeMap<Int, String>()
map1[0] = "Java语言"
map1[1] = "Kotlin语言"
map1[2] = "C语言"
map1[3] = "C++语言"
map1[4] = "C#语言"
map1[5] = "PHP语言" // 打印Key Value详情
println("keys:${map1.keys}, values:${map1.values}") println("--------------------------------------------------") // 打印Map的值
for (m in map1)
println("key:${m.key}, value:${m.value}") println("--------------------------------------------------") /**
* 定义Map Key类型是String, Value类型是Double
*/
var map2 = TreeMap<String, Double>()
map2["一"] = 612.8
map2["二"] = 653.0
map2["三"] = 864.7
map2["四"] = 644.7
map2["五"] = 433.7 for (m in map2) {
println("key:${m.key}, value:${m.value}")
} println("--------------------------------------------------") /**
* 定义Map Key类型是int, Value类型是Int
*/
var map3: TreeMap<Int, Int> = TreeMap() // iVar是可以让for循环6次
var iVar = 1..6 // 用for 存储Map的值 iVar.count()可以得到总数6
for (i in iVar)
map3.set(i + 1, i + 100) // 用for 打印Map的值
for (m in map3)
println("key:${m.key}, value:${m.value}") println("--------------------------------------------------") /**
* 定义Map Key类型是Int, Value类型是Person实体
*/
var map4: TreeMap<Int, Person> = TreeMap()
map4[100] = Person("小华", 109, "男")
map4[300] = Person("小名", 110, "女")
map4[999] = Person("小丽", 100, "男") // 用for 打印Map的值
for (m in map4)
println("key:${m.key}, value:name${m.value.name},age${m.value.age},sex${m.value.age}")
} /**
* 定义描述一个实体
*/
class Person(var name: String, var age: Int, var sex: String)
执行结果:
Android-Kotlin-区间与for&List&Map简单使用的更多相关文章
- 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发
[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http: ...
- C++关联容器<map>简单总结
C++关联容器<map>简单总结 map提供大小可变的关联容器,基于关联键值高效检索元素值.当你处理键值对的数据是,都可以考虑使用map关联容器. 特点: 大小可变的关联容器,基于关联键值 ...
- 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位网友补充完善
链接地址:http://www.tuicool.com/articles/jyA3MrU 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http://blog.cs ...
- android Jni NDK开发环境搭建及其简单实例的编写
android Jni NDK开发环境搭建及其简单实例的编写 由于工作需要,需要采用开发想要的JNI,由于之前没有接触过安卓的开发,所以更加网上的帖子,学习了下.遇到了些问题,然后总结下学习过程中 ...
- Android之史上最全最简单最有用的第三方开源库收集整理
Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者, ...
- Android(Lollipop/5.0) Material Design(一) 简单介绍
Material Design系列 Android(Lollipop/5.0)Material Design(一) 简单介绍 Android(Lollipop/5.0)Material Design( ...
- Android Studio 配置使用百度api (附带简单样例)
还是和同学开发的那个课程作业项目的app, 要使用到百度地图的api 但是,官方文档貌似只有Eclipse的例子,对Android Studio似乎没有说明. 难道,是因为后者是 "Doo ...
- Kotlin入门第四课:简单工厂模式
Kotlin基础知识的学习,请参考之前的文章: Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操作 Kotlin入门第三课:数据类型 初次尝试用Kotlin实现Android ...
- Android开发学习之路--RxAndroid之简单原理
学习了RxAndroid,其实也就是RxJava了,但是还是不是非常清楚到底RxAndroid有什么用呢?为什么要使用RxAndroid呢?这篇文章讲得不错,RxJava的原理.但是这里还是把整个 ...
随机推荐
- html 转化成 pdf
- mac install brew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ...
- ListView动态改变每一项的高度。
ListView中每一项的高度默认是相同的,除非超过其预定高度值,否则需要动点手脚. VariableSizedListView 继承 ListView然后重写protected override v ...
- MySQL基准测试--innodb_buffer_pool_instances
http://blog.chinaunix.net/uid-26896862-id-3345441.html 目的 根据现有硬件环境下,测试MySQL单实例下,在数据量小于innodb_buffer_ ...
- tensorflow下识别手写数字基于MLP网络
# coding: utf-8 # In[1]: import tensorflow as tf import tensorflow.examples.tutorials.mnist.input_da ...
- 使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP
虽然现在JS做报表和图形展示已经非常普遍和漂亮了,但是不能忽略有jfreechart 这样一种东西! 这些翻阅资料,在看以前写的示例时发现了关于jfreechart 的简单示例,不管怎样发上来分享一下 ...
- RBAC简介
1.RBAC 中文名称:基于角色的访问控制 1.1 作用:实现访问控制 1.2 核心:角色 2.英文名称:(Role-Based Access Control) 3.解释:一种思想,根据RBAC思想进 ...
- [转]MySQL索引原理及慢查询优化
MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位 ...
- 关于Code Review
为了保证代码质量,我们团队内部一直在推行Code Review.现在Code Review帮我们发现了很多代码的问题,提升了代码的可读性和质量,同时我们在Code Review上也花费了很多时间,有些 ...
- boost-智能指针
使用boost的智能指针需要包含头文件"boost/smart_ptr.hpp",c++11中需要包含头文件<memory> 1.auto_ptr.scoped_ptr ...