初学耗时:0.5h
注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。
一、列表List
1.1 不可变List。
1.2 可变List。
记忆词:
可变List、不可变List
一、列表List
1.1 ~ 不可变List。
- import scala.collection.immutable._
1.1.1 . 列表定义。
- head:返回列表第一个元素。
- tail:返回一个列表,包含除了第一元素之外的其他元素。
- isEmpty:在列表为空时返回true。
1.1.2 . list常用的操作符。
- +: (elem: A): List[A] ,在列表的头部添加一个元素。
- :: (x: A): List[A] ,在列表的头部添加一个元素。
- :+ (elem: A): List[A] ,在列表的尾部添加一个元素。
- ++[B](that: GenTraversableOnce[B]): List[B] ,从列表的尾部添加另外一个列表。
- ::: (prefix: List[A]): List[A] ,在列表的头部添加另外一个列表。
package cn.zrk.collect
/**
* 不可变List集合操作
*/
object ImmutListDemo {
def main(args: Array[String]) {
//创建一个不可变的集合
val lst1 = List(1,2,3)
//补充:另一种定义list方法
val other_lst=2::Nil
//获取集合的第一个元素
val first=lst1.head
//获取集合中除第一个元素外的其他元素集合,
val tail=lst1.tail
//补充:其中如果 List 中只有一个元素,那么它的 head 就是这个元素,它的 tail 就是 Nil;
println(other_lst.head+"----"+other_lst.tail)
//将0插入到lst1的前面生成一个新的List
val lst2 = 0 :: lst1
val lst3 = lst1.::(0)
val lst4 = 0 +: lst1
val lst5 = lst1.+:(0)
//将一个元素添加到lst1的后面产生一个新的集合
val lst6 = lst1 :+ 3
val lst0 = List(4,5,6)
//将2个list合并成一个新的List
val lst7 = lst1 ++ lst0
//将lst0插入到lst1前面生成一个新的集合
val lst8 = lst1 ++: lst0
//将lst0插入到lst1前面生成一个新的集合
val lst9 = lst1.:::(lst0)
}
}
1.2 ~ 可变List。
- import scala.collection.mutable. ListBuffer
package cn.zrk.collect
import scala.collection.mutable.ListBuffer
object MutListDemo extends App{
//构建一个可变列表,初始有3个元素1,2,3
val lst0 = ListBuffer[Int](1,2,3)
//创建一个空的可变列表
val lst1 = new ListBuffer[Int]
//向lst1中追加元素,注意:没有生成新的集合
lst1 += 4
lst1.append(5)
//将lst1中的元素追加到lst0中, 注意:没有生成新的集合
lst0 ++= lst1
//将lst0和lst1合并成一个新的ListBuffer 注意:生成了一个集合
val lst2= lst0 ++ lst1
//将元素追加到lst0的后面生成一个新的集合
val lst3 = lst0 :+ 5
//删除元素,注意:没有生成新的集合
val lst4 = ListBuffer[Int](1,2,3,4,5)
lst4 -= 5
//删除一个集合列表,生成了一个新的集合
val lst5=lst4--List(1,2)
//把可变list 转换成不可变的list 直接加上toList
val lst6=lst5.toList
//把可变list 转变数组用toArray
val lst7=lst5.toArray
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ 至此,列表List完成。
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
※ 世间诱惑何其多,坚定始终不动摇。
一般认为,好的软件应该:
…
A、速度快
B、正确实现要求的功能
C、程序简短
D、价格低廉
…
B
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。
我知道我的不足,我也知道你的挑剔,但我就是我,不一样的烟火,谢谢你的指指点点,造就了我的点点滴滴:)!