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:分组、两两分组,自动分组。没有任何逻辑,就是两两分组,将两个数据分成一个组,然后形成一个新的集合

 
 
posted @ 2022-01-29 17:15  不咬牙  阅读(29)  评论(0)    收藏  举报