scala 定义空list_四十二、Scala 教程: List(列表)

列表

Scala 列表 有点像 数组, 因为他们都是有序存储结构,而且所有元素的类型都一样,但它又不同于数组

1、 列表(List)一旦被创建就不能改变其中的元素。

2、 列表(List)底层的数据结构是链接表,而数组是一块连续的内存。

因为列表不可变,所以所有操作它的方法或者构造器都会创建一个新的列表

定义列表(List)

定义列表有 范例化List对象 和 构造符构造 两种方式

范例化List对象构造列表

我们使用 List[T] 来定义一个 T 类型的列表。T 可以是 String,Int等等基本数据类型,也可以是用户自己定义的类类型。

下面代码定义了各种类型的列表

// 字符串列表

val site: List[String] = List("百度", "腾讯", "阿里巴巴")

// 整型列表

val nums: List[Int] = List(11, 21, 31, 41)

// 空列表

val empty: List[Nothing] = List()

// 二维列表

val dim: List[List[Int]] =

List(

List(11, 20, 30),

List(10, 11, 20),

List(30, 10, 12)

)

使用运算符构造列表

Scala 提供了 ::运算符来构造列表

构造列表的两个基本单位是 Nil 和 ::

Nil 表示为一个空列表。

让我们用构造符重构以上列表:

// 字符串列表

val site = "百度" :: ("腾讯" :: ("阿里巴巴" :: Nil))

// 整型列表

val nums = 11 :: (21 :: (31 :: (41 :: Nil)))

// 空列表

val empty = Nil

// 二维列表

val dim = (11 :: (20 :: (30 :: Nil))) ::

(10 :: (11 :: (20 :: Nil))) ::

(30 :: (10 :: (12 :: Nil))) :: Nil

注意最后那个 Nil 不可省略

使用列表

列表(List) 的基本操作

Scala列表有三个基本操作:

head 返回列表第一个元素

tail 返回一个列表,包含除了第一元素之外的其他元素

isEmpty 在列表为空时返回true

对列表的任何操作都可以使用这三个基本操作来表达。让我们来看一个范例:

object Test {

def main(args: Array[String]) {

val site = "百度" :: ("腾讯" :: ("阿里巴巴" :: Nil))

val nums = Nil

println( "第一网站是 : &#

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值