Scala.Collection-List、List-map、通配符_的基本使用

目录

一、集合类图

二、List[T]

2.1创建List的方法

2.2 访问List的方法

head、tail、isEmpty

三、List的高级使用

filter、toList、IsDigit、takeWhile

四、List-map

_、flatMap的使用


一、集合类图

 

二、List[T]

List[T]是最常用的集合类,T用来表示泛型,表示List集合里元素的类型。

由于Scala会自动进行类型推导,所以我们有时没有必要指定类型。

 

2.1创建List的方法

第一种创建List的方法

Scala自动进行类型推导为Int类型。

 

第二种创建List的方法

使用连接操作符进行创建List。

“::”为连接操作符。左边是元素,右边是List,这样会把元素添加到List的头部

当然换一种写法是不正确的。

 

第三种创建Lise的方法

“Nil”代表一个空的列表

创建过程:“z::Nil”(z去连接Nil这个空列表)----->"y" :: "z"(y再去连接“z与Nil连接的集合”)----->"x":: "y::z"(x再去连接“y::z”集合)。也就是创建过程是从右到左的。

如图所示的创建过程,res2就是d集合。

 

第三种创建List的方法

“:::”代表集合之间连接符。

且发现Scala把c集合的类型推导为Any,是因为在c集合中有来自a集合Int类型的元素也有来自d集合String类型的元素。Int是值类型,String是引用类型,它们公共的父类是Any类。

 

 

2.2 访问List的方法

 

head、tail、isEmpty

第一种:伪列表访问

head:获得的是列表中的第一个元素。

tail:获得列表中除了第一个元素的所有元素。

 

isEmpty:判断List是否为空,为空返回true,反之返回false。

eg:将List元素装换成String输出

 

三、List的高级使用

filter、toList、IsDigit、takeWhile

“filter”高级函数为过滤。把列表中不需要的东西过滤掉生成一个新符列表。

filter(保留条件):当元素符合保留条件时,元素被保留。否则被过滤掉。

 

 

这里a的filter()的过滤条件时一个匿名函数。当a中的元素传入匿名函数且返回true时,元素被保留。

 

toList:把String变成Char存入List中

 

 

Character.IsDigit():判断元素是否为数字,是数字返回true,反之返回false。

 

takeWhile():遍历List,当元素满足判断条件返回true时,保留元素。当元素不满足判断条件返回false时,停止遍历,break。

 

四、List-map

map里存在的是函数映射的一种关系。

_、flatMap的使用

将c里的小写字母转换成大写存在新列表map中。

map(映射关系):List转换成map时,map的key-value满足映射关系式。

“_”通配符与List中每个元素対应。

 

关于通配符的使用:

先将a这个List过滤出以后再通过map映射承认成一个新的List

 

多维List的map及其通配符的使用:

依次对map中多个List元素进行单个List的遍历,进行深度遍历。

 

 

flatMap(映射条件):一般用于多维List过滤形成一个一维List。过滤出多维List中满足映射条件的元素组成新List。

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值