/**
* 描述:集合类型 Collection 同类型的值的组合, 根据整体特性分:
* 1.有序可重复 - Array, 索引从0开始(index, i)
* 2.无序不重复 - Set
* 3.无序可重复 - Map, 但值有唯一的键(Key)
* 作者:jet
* 创建时间: 2017-11-20 11:31
* 修改人:
* 修改时间:
* 修改内容:
*/
fun main(args: Array<String>) {
//Array(数组创建方式) Array<类型> 或arrayOf(元素1,元素2,...元素n)
//大小固定,元素类型不可变
// 地铁1号线: "罗湖站","国贸站","老街站","大剧院站","科学馆站", "华强路站","岗厦站", "会展中心站","购物公园站"
// "香蜜湖站、","车公庙站","竹子林站","侨城东站","华侨城站", "世界之窗站","白石洲站", "高新园站","深大站", "桃园站","大新站"
// "鲤鱼门站","前海湾站","新安站","宝安中心站","宝体站", "坪洲站","西乡站", "固戍站","后瑞站","机场东站"
var line1Stations = arrayOf("罗湖站","国贸站","罗湖站","国贸站","老街站","大剧院站","科学馆站", "华强路站","岗厦站", "会展中心站","购物公园站")
//创建一个默认有值得数组,Array(计数,{默认值})
var line1StationPlaceholders = Array(20,{"临时站名"})
for (line1StationPlaceholder in line1StationPlaceholders) {
print(line1StationPlaceholder+" ")
}
//创建1到10数组 Array(10,{i->i+1})
//i代表元素的索引,从0开始
var oneToTen= Array(10,{i->i+1})
for (i in oneToTen) {
print(i.toString()+" ")
}
//元素计数:count() ,空否:isEmpty()
print(oneToTen.count())
print(oneToTen.isEmpty())
//获取其中元素:数组名[索引],首元素:数组名.first 尾元素:数组名.last
//获取前5个元素的快捷方法 .component1到5
println("${oneToTen.component1()},${oneToTen.component2()}")
println(oneToTen[10-1])
println(oneToTen.last())
//获取筛选重复元素后的数组:.distinct()或用.toSet()转换为Set(因为Set类型的集合是不重复的)
var line1StationNoRepeat = line1Stations.toSet()
for (s in line1StationNoRepeat) {
print(s+" ")
}
//分割数组:sliceArray
println()
val line1StationInAirport = line1Stations.sliceArray(4..6)
for (s in line1StationInAirport) {
print(s+" ")
println()
}
//mutableList :MutableList<类型>或mutableListOf(元素1, 元素2, ...,元素n)
//大小可变,类型不可变
// 地铁1号线: "罗湖站","国贸站","老街站","大剧院站","科学馆站", "华强路站","岗厦站", "会展中心站","购物公园站"
// "香蜜湖站、","车公庙站","竹子林站","侨城东站","华侨城站", "世界之窗站","白石洲站", "高新园站","深大站", "桃园站","大新站"
// "鲤鱼门站","前海湾站","新安站","宝安中心站","宝体站", "坪洲站","西乡站", "固戍站","后瑞站","机场东站"
var line1Station2 = mutableListOf("罗湖站","国贸站","老街站","大剧院站","科学馆站", "华强路站","岗厦站", "会展中心站","购物公园站")
val newStation = arrayOf("香蜜湖站、","车公庙站","竹子林站","侨城东站","华侨城站", "世界之窗站","白石洲站", "高新园站","深大站", "桃园站","大新站")
//在末尾增加元素:add方法. 添加另一个数组addAll方法
line1Station2.addAll(newStation)
line1Station2.add("鲤鱼门站")
println()
for (s in line1Station2) {
print(s+" ")
}
//移出元素remove,移出指定位置removeAt,移除部分数据removeAll
line1Station2.removeAll(newStation)
}
出自:http://www.xiaoboswift.com/course/54
网友评论