scala中Array、List、Tuple异同

scala中Array、List、Tuple异同

https://blog.csdn.net/baidu_35570545/article/details/77893421

2017年09月08日 13:12:59  阅读数:422 标签: scala 更多

个人分类: scala

版权声明:欢迎转载,转载请注明出处! https://blog.csdn.net/baidu_35570545/article/details/77893421


各数据结构是否长度可变? 
各数据结构是否内容可变? 
各数据结构声明方式有何差别? 
各数据结构访问方式有何差异? 

  • 从数据结构的角度:

 1)Array、List、Tuple都是不可变长的,BufferArray是可变长的 
 2)Array和List中的元素类型必须相同,Tuple可以存放不同的类型 
 3)Array元素可变,List、Tuple元素不可变

  • 声明的角度:

 1) Array、List声明时不能加new,Tuple声明时可加可不加 
Array声明:

<span style="color:#000000"><code class="language-scala"><span style="color:#000088 !important">val</span> array1 = Array(<span style="color:#006666 !important">1</span>,<span style="color:#006666 !important">2</span>,<span style="color:#006666 !important">3</span>)</code></span>
  • 1

List声明:

<span style="color:#000000"><code class="language-scala"><span style="color:#000088 !important">val</span> list1 = List(<span style="color:#006666 !important">1</span>,<span style="color:#006666 !important">2</span>,<span style="color:#006666 !important">3</span>)</code></span>
  • 1

Tuple声明的三种方式:

<span style="color:#000000"><code class="language-scala"><span style="color:#000088 !important">val</span> tuple1 = (<span style="color:#006666 !important">1</span>,<span style="color:#000088 !important">true</span>,<span style="color:#009900 !important">"aaa"</span>)
<span style="color:#000088 !important">val</span> tuple2 = Tuple3(<span style="color:#006666 !important">1</span>,<span style="color:#000088 !important">true</span>,<span style="color:#009900 !important">"aaa"</span>)
<span style="color:#000088 !important">val</span> tuple3 = <span style="color:#000088 !important">new</span> Tuple3(<span style="color:#006666 !important">1</span>,<span style="color:#000088 !important">true</span>,<span style="color:#009900 !important">"aaa"</span>)</code></span>
  • 1
  • 2
  • 3
  • 访问的角度:

 1)Array、List都是从下标0开始访问,形式为Array(0)、List(0)

<span style="color:#000000"><code class="language-scala"><span style="color:#000088 !important">val</span> array1 = Array(<span style="color:#006666 !important">1</span>,<span style="color:#006666 !important">2</span>,<span style="color:#006666 !important">3</span>)
println(array1(<span style="color:#006666 !important">0</span>))  <span style="color:#880000 !important"><em>//1</em></span>
println(array1(<span style="color:#006666 !important">2</span>))  <span style="color:#880000 !important"><em>//3</em></span></code></span>
  • 1
  • 2
  • 3

 2)Tuple从下标1开始访问,形式为Tuple._1

<span style="color:#000000"><code class="language-scala"><span style="color:#000088 !important">val</span> tuple1 = <span style="color:#000088 !important">new</span> Tuple3(<span style="color:#006666 !important">1</span>,<span style="color:#000088 !important">true</span>,<span style="color:#009900 !important">"aaa"</span>)
println(tuple1._1)  <span style="color:#880000 !important"><em>//1</em></span>
println(tuple1._3)  <span style="color:#880000 !important"><em>//"aaa"</em></span></code></span>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值