您的位置:首页 > 其它

Scala_入门笔记_List

2017-12-06 14:22 169 查看
List

Scala的list与Java集合框架中的list也非常相似。

定义

整型列表

val nums: List[Int] = List(1, 2, 3, 4)


二维列表

val dim: List[List[Int]] =
List(
List(1,0,0),
List(0,1,0),
List(0,0,1)
)


空列表

val empty = Nil


列表的三个基本操作

head 返回列表第一个元素

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

isEmpty 在列表为空时返回true

栗子

val site:List[String] =List("google","baidu","sougou")
val nums = Nil
println( "第一网站是 : " + site.head )
println( "最后一个网站是 : " + site.tail )
println( "查看列表 site 是否为空 : " + site.isEmpty )
println( "查看 nums 是否为空 : " + nums.isEmpty )


以上代码输出结果

第一网站是 : google
最后一个网站是 : List(baidu, sougou)
查看列表 site 是否为空 : false
查看 nums 是否为空 : true


List常用方法

一、列表操作

List.concat()  //连接两个或多个列表
List.reverse  //将列表的顺序反转
def sorted[B >: A]: List[A]  //列表排序
def distinct: List[A]  //去除列表的重复元素,并返回新列表
def drop(n: Int): List[A]  //丢弃前n个元素,并返回新列表
def dropWhile(p: (A) => Boolean): List[A]  //从左向右丢弃元素,直到条件p不成立
def equals(that: Any): Boolean  //判断是否相等
def exists(p: (A) => Boolean): Boolean  //判断列表中是否存在某个元素
def isEmpty: Boolean   //检测列表是否为空
def map(f: (A) => B): List[B]  //通过给定的方法将所有元素重新计算


[b]二、元素操作


List.fill()  //创建一个指定重复数量的元素列表
def ::(x: A): List[A]  //在列表开头添加元素,亦可以直接只用+=添加元素
def addString  (b:StringBuilder,sep:String):StringBuilder  //将列表的所有元素添加到 StringBuilder,并指定分隔符
def contains(elem: Any): Boolean  //检测列表中是否包含指定的元素
def endsWith(that: Seq[B]): Boolean  //检测列表是否以指定序列结尾所以还有startsWith();
def foreach(f: (A) => Unit): Unit  //遍历列表的所有元素
def indexOf(elem: A, from: Int): Int  //从指定位置 from 开始查找元素第一次出现的位置,所以有lastIndexOf
take(n:Int)  提取前n个元素,相反有takeRight,提取后n个元素


[b]三、列表计算


def length: Int  //返回列表长度
def max: A  //查找最大元素
def min: A  //查找最小元素
def sum: A  //计算集合元素之和


四、转为其他

def mkString: String  //列表所有元素作为字符串显示
def mkString(sep: String): String  //使用分隔符将列表所有元素作为字符串显示
def toMap[T, U]: Map[T, U]  //List 转换为 Map
def toSeq: Seq[A]  //List 转换为 Seq
def toSet[B >: A]: Set[B]  //List 转换为 Set
def toString(): String  //列表转换为字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: