Scala中数组和集合的基本API语法

数组
在Scala中,数组分为定长数组(Array)和变长数组(ArrayBuffer)
* 定长数组指的是:长度不可变,内容可变
* 变长数组指的是:长度可变,内容可变



首先,我们检查一下内容是否可变:

我们可以看到内容是可变的,那么长度呢?

那么数组的长度是不可变的;
我们现在来定义一个可变长数组:

首先内容是可变的

那么长度是否可变:

我们可以看到,长度也是可变的,所以ArrayBuffer是一个可变长的数组。

集合

在Scala中,集合分为可变集合(mutable)和不可变集合(imutable)
* 可变集合指的是:长度可变,内容可变
* 不可变集合指的是:长度不可变,内容也不可变

如果正常定义一个集合,那么它是不可变的

那么我们做一些添加以及修改的操作:

说明我们定义了一个不可变的集合,那么我们如何定义一个可变集合呢

定义一个长度可变集合

添加元素:

改变内容:

序列

序列我们引入一个Nil,指的是一个空集合

序列中我们唯一指定头和尾来确定一个集合

我们看出,头就是第一个元素,尾就是后面的元素

那么创建集合的另一种方式是:

两个冒号是集合定义的方法,这是右结合,Nil是一个空集合,上面是将100和Nil结合到了一起,但是Nil并没有变化

我们看看序列可不可以添加元素:

我们定义一个集合aa,现在以新的方式插入元素:

是否插入成功,我们再次看一下aa这个集合

aa这个集合还是空的,说明并没有插入进去,只是经过这种操作形成一个新的list

然后我们看一下list里面的一些方法:

其中:

+:拼接作用;

++:可以和元素或者另一个集合++,得到的是一个新的集合

(++:):可以和元素或者另一个集合结合,得到的是一个新的集合,并且++:后面的在新集合的头部;

(:+):可以和元素或者另一个集合结合,得到的是一个新的集合,并且:+后面的在新集合的尾部;

(::):拼接元素,不能拼接集合

(:::):拼接集合

可变map:

猜你喜欢

转载自blog.csdn.net/Lwj879525930/article/details/81907678