第13章 java集合汇总

###结构关系###

这里写图片描述

  1. Seq是个有先后次序的值的序列,比如数组和链表。
      不可变=> List、Array、Stream、Stack、Queue、Vector、Range
      可变=>ListBuffer、ArrayBuffer、Stack、Queue、LinkedList、Double LinkedList
  2. Set没有先后次序的值。
      不可变=>Set
       可变=>Set
    SortedSet可以被顺序访问
      不可变=>SortedSet
       可变=>SortedSet
  3. Map
      不可变=>Map
       可变=>Map
    SortedMap按照键排序访问
     不可变=>SortedMap
      可变=>SortedMap

默认都是不可变的(import scala.collection.mutable._),如果需要使用可变的集合,需要导入import scala.collection.mutable._

###一些比较###
#####Array、List、Tuple的区别####

  1. 在Scala 2.7中,Array、List都不能混合类型,只有Tuple可以;而在Scala以上版本中,3者的元素都可以混合不同的类型(转化为Any类型),只不过是当使用混合类型时,Array和List会将元素类型转化为Any类型,而Tuple则保留每一个元素的初始类型;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UR4m1cYR-1588843929780)(https://img-blog.csdn.net/20160825221652499)]
3. List有很多特殊的方法和属性,如方法tail 、head、::,Nil属性等。

#####Array、ArrayBuff的比较####

  1. Array只能可以修改里面的值,但是不能改变长度
    ArrayBuff可以修改值,也可以改变长度
    ###使用举例###
    ####不可变List####

构建

1、val lst = List(1,2,3) 

//Nil是一个空的List,定义为List[Nothing],根据List的定义List[+A],所有Nil是所有List[T]的子类
//:: 操作符是右结合的,列表从末端开始构建,如9 :: 5 :: 2 :: Nil相当于 9 :: (5 :: (2 :: Nil))
2、var nil = 1::2::Nil  => List(1, 2)

取值、遍历


lst(0) => 1

//head第一个元素
lst.head => 1

//tail除第一个元素外的所有元素
lst.tail =>List(2,3)

//遍历
def sum1(lst:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值