List 的基本介绍和创建 | 学习笔记

简介: 快速学习 List 的基本介绍和创建

开发者学堂课程【Scala 核心编程 - 进阶List 的基本介绍和创建学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9032


List 的基本介绍和创建


内容介绍:

一、基本介绍

二、应用案列


一、基本介绍

Scala 中的 List 和 Jave List 不一样,在 Jave 中 List 是一个接口,真正存放数据是 ArrayList ,而Scala  的List可以直接存放数据,Scala的 List 就是一个 object ,默认情况下 Scala 的 List 是不可变的。 List 属于序列 Seq 。

(强调:纯的一个 List 是没有可变的)

1.Scala的List 特点:

  1. 不可变
  2. 属于一个序列

2.结构:

val List = scala.collection.immutable.List

object List extends SeqFactory[List]

从该结构中看出,immutable.List 继承 SeqFactory[List]


二、应用案列

1.代码

object ListDemo01

{

def main (args:Array[String]): Unit={

val list01=List(1,2,3)   //创建时,直接分配(没有引包就能使用)

println(list01)

val list02=Nil   //空集合。

println(list02)

}

}

2.说明

(1)在默认情况下,该 List 是引入

scala.collection.immutable.List 这个包,即不可变(List 是不可变的,ListBuffer 可变)

(2)在 scala 中,List 就是不可变的,但是在开发中,经常需要 List 可变的,如果需要使用可变的 List ,则使用 ListBuffer

(3)为什么List 没有引包就能使用,如下图,package object scala 是 scala 的一个包对象,默认情况下 scala 这个包是被引入的,意味着包对象可以直接使用,所以 List 可以直接使用。(List 在 package object scala 做了一个声明

( val List = scala.collection.immutable.List))

image.png

(4)val Nil =scala.collection.immutable .Nil

Nil 是空集合,空集合也是一种集合,空集合也有作用,在进行加和减的操作时的前提是一个集合。

3.运行结果

运行上面的代码得到:

D:\program\jdk8\bin\java

LisL(1.2.3)

List()

Process tinished  with exit code 0

现在学会了创建一个list 指令分配和空的 List (Nil创建也是一个 List,也就是 Nil 也是一个集合,但是里面是空的)

相关文章
|
4月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
3月前
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
4月前
|
索引
【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍
【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍
450 3
|
6月前
|
编译器 C++ 容器
【C++】学习笔记——list
【C++】学习笔记——list
26 0
|
7月前
|
Java Redis
redis-学习笔记(Jedis list简单命令)
redis-学习笔记(Jedis list简单命令)
55 1
|
7月前
|
NoSQL Java Redis
redis-学习笔记(string , hash , list , set , zset 前置知识)
redis-学习笔记(string , hash , list , set , zset 前置知识)
36 0
redis-学习笔记(string , hash , list , set , zset 前置知识)
|
7月前
|
存储 消息中间件 NoSQL
redis-学习笔记(list)
redis-学习笔记(list)
31 0
|
存储 C++ 索引
C++学习笔记_18 线性容器(vector_list_deque)总结 2021-05-18
C++学习笔记_18 线性容器(vector_list_deque)总结 2021-05-18
|
C++ 容器
C++学习笔记_16 线性容器-List容器 2021-05-13
C++学习笔记_16 线性容器-List容器 2021-05-13
|
存储 编译器 C++
C++学习笔记(十七)——list的模拟实现(一)
C++学习笔记(十七)——list的模拟实现
C++学习笔记(十七)——list的模拟实现(一)