Scala集合

一、 概念

  • scala集合体系从数据存储方式上分为三大集合体系

    • seq集合体系
    • set集合体系
    • map集合体系
  • scala集合从集合数据是否可变又分为两种

    • 默认为不可变集合:集合每一次操作完成后,原有集合不受影响,而是产生一个新的集合
    • 可变集合体系:集合每一次操作完成后,原有集合发生概念,而不是产生一个新的集合

二、scala集合常用体系

1、 数据集合体系

  • 不可变数据
  • 可变数组
  • 多维数组

2、 列表List集合体系

存放有序、可重复的元素

  • 不可变列表List

    • 遍历
      for(i <- start to list.size)
      for(item <- list)
      list,foreach((item:Int) => {println(item)})
    • 取值
    • 增加
      +:
      :+
      ::
      :::
    • 更新数据 updated
    • 删除数据 drop
  • 可变列表ListBuffer

    • 遍历
    • 取值
    • 增加
      append
      insert
    • 更新数据 updated
    • 移除数据 remove

3、 Set集合体系

不可重复,无序的集合

  • 不可变Set
  • 可变mutable.Set

4、 Map集合体系

5、 特殊的数据类型 Tuple元组

6、 常用属性和函数

foreach  增加的for循环的变种  遍历集合的每一个元素,进行处理  无返回值类型
iterator  迭代器
mkString  将集合元素以指定分隔符拼接成为字符串
contains  判断 集合是否包含某个元素
获取集合的头  list.head
获取集合的尾部元素 list.tail
集合最后的一个元素 list.last
集合元素进行反转  list.reverse
取集合中前3个元素 list.take(3)
取集合的后三个元素  list.takeRight(3)
合并两个集合  list.union(list1)
取两个集合的交集  list.intersect(list1)
取两个集合的差集  list1.diff(list)
集合的拉链操作
	将两个集合的元素按照顺序组合成为二元组 二元组的第一个值是第一个集合的某一条数据,二元组的第二条数据是第二个集合与之顺序对应的数据
	var list3 = List("zs","ls","ww","zl")
	var list4 = List(20,30,40)
	val list5:List[(String,Int)] = list3.zip(list4)
	println(list5)
滑动窗口函数
	窗口的大小,滑动步长
	var list6:List[Int] = List(1,2,3,4,5,6,7,8,9,0)
	val list7 = list6.sliding(5, 5)
	for (item <- list7){
  		println(item)
 	}

7、 计算函数

累加值    sum
累乘      product
最大值 	 max
最小值    min
排序操作
	sort by
		根据集合的指定值进行排序
		无法指定升降序排序  默认是升序
	sortWith
		传递一个Comparator比较器
		指定升降序排序
		前者 大于后者返回true  降序排序    前者小于后者返回true 升序排序
		list3.sortWith((a, b) => a < b)

8、 隐式转换

隐式转换是Scala中的特色,也是Scala中功能比较强大的一个核心技术,可以帮助我们动态的扩展一个类或者方法的功能

var s:String = "1"
implicit def xx(s:String):Int={
    Integer.parseInt(s)
}
var num:Int = s
println(num)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值