1月29日
List分为两种: mutable immutable
默认使用的immutable List =list是不可变的,
List集合注意事项:
1- List集合中长度和元素的值都不可变。
2- 数组是长度不能改变。
3- List中不可变的是:List 可变的是:ListBuffer
4- List集合在创建的时候不能使用new, List是一个抽象类,不能被初始化。
scala中对List集合的描述:
备注:List集合是一个抽象类不能被实例化,也就是不能使用 new的方式进行创建:
sealed abstract class List[+A]()
Map
1- 第一种:使用 -> 的方式声明:
scala> val map=("zhangsan"->20,"lisi"->23) or: val map=Map(1->11,2->22)
map: ((String, Int), (String, Int)) = ((zhangsan,20),(lisi,23))
备注:
声明的Map集合的时候如果不加泛型,必须保证声明的map集合中有数据,因为有数据会自动适配,没有数据会返回Nothing.
例如:
scala> val map=Map()
map: scala.collection.immutable.Map[Nothing,Nothing] = Map()
2- 第二种:使用对偶元组的方式声明:
scala> val map=(("zhangsan",20),("lisi",23),("wangwu",24))
map: ((String, Int), (String, Int), (String, Int)) = ((zhangsan,20),(lisi,23),(wangwu,24))
scala中集合的常用方法
map 方法主要是一对一映射,取出集合中的每个元素,执行操作,返回值和集合的类型一致。
Filter方法主要是针对集合里的元素进行过滤,只需要给定一个函数进行判断即可。Filter也是一对一的,可以将数组中的数据进行部分过滤,返回值类型和原来的集合类型一样,集合中的数据泛型也一样。
flatten方法可以把一个字符串的集合展开为一个字符集合,也可以将二维数组压平变成一个数组。
FlatMap:==map+ flatten :先使用map处理数据,然后再压平。
groupBy: 分组。按条件分组,条件由 f 匹配,返回值是Map类型,每个key对应一个序列
grouped:分组、两两分组,自动分组。没有任何逻辑,就是两两分组,将两个数据分成一个组,然后形成一个新的集合
浙公网安备 33010602011771号