1. 程式人生 > >scala中Array、List、Tuple異同

scala中Array、List、Tuple異同


各資料結構是否長度可變?
各資料結構是否內容可變?
各資料結構宣告方式有何差別?
各資料結構訪問方式有何差異?

  • 從資料結構的角度:

 1)Array、List、Tuple都是不可變長的,BufferArray是可變長的
 2)Array和List中的元素型別必須相同,Tuple可以存放不同的型別
 3)Array元素可變,List、Tuple元素不可變

  • 宣告的角度:

 1) Array、List宣告時不能加new,Tuple宣告時可加可不加
Array宣告:

val array1 = Array(1,2,3)

List宣告:

val list1 = List(1
,2,3)

Tuple宣告的三種方式:

val tuple1 = (1,true,"aaa")
val tuple2 = Tuple3(1,true,"aaa")
val tuple3 = new Tuple3(1,true,"aaa")
  • 訪問的角度:

 1)Array、List都是從下標0開始訪問,形式為Array(0)、List(0)

val array1 = Array(1,2,3)
println(array1(0))  //1
println(array1(2))  //3

 2)Tuple從下標1開始訪問,形式為Tuple._1

val tuple1 = new Tuple3(1
,true,"aaa") println(tuple1._1) //1 println(tuple1._3) //"aaa"

相關推薦

scalaArrayListTuple異同

各資料結構是否長度可變? 各資料結構是否內容可變? 各資料結構宣告方式有何差別? 各資料結構訪問方式有何差異? 從資料結構的角度:  1)Array、List、Tuple都是不可變長的,BufferArray是可變長的  2)

快學scalaArrayListtuple模式匹配

object operate_match { def main(args: Array[String]) { // map match val map = Map("scala" -&

scala 模式匹配之TypeArrayListTuple

1、程式碼 package com.yy.base /** * Scala 模式匹配 * Type Array List Tuple */ object PatternMatchMore extends App { println("-----Type

JavaArrayListArrayList的區別

Array Array(陣列)是基於索引(index)的資料結構,它使用索引在陣列中搜索和讀取資料是很快的。 Array獲取資料的時間複雜度是O(1),但是要刪除資料卻是開銷很大,因為這需要重排陣列中的所有資料。 List List—是一個有序的

Spring使用MapSetList數組屬性集合的註入方法配置文件

查看 main list highlight 配置 spring配置 pla lec while (1)下邊的一個Java類包含了所有Map、Set、List、數組、屬性集合等這些容器,主要用於演示spring的註入配置; [java] view plain c

MapListSet在Java的各種遍歷方法

try one out 循環 java light size i++ pre 一、Map的4種遍歷 Map<String, String> map = new HashMap<String, String>(); map.put("姓名", "

intstrlisttupledict補充

ict () 循環 字典 gbk encoding odi 表示 ems 一、int a = 123 b = a# a與b指向同一個地址值 c = 123 d = 123 e = 123 #d、c、e當在-5~257這個範圍時,都指向一個地址值(Python優化的結果,當超

【redis,1】java操作redis: 將stringlistmap自己定義的對象保存到redis

n) spa 存儲 div ber sys mil 操作 write 一、操作string 、list 、map 對象 1、引入jar: jedis-2.1.0.jar 2、代碼 /

.NET面試題系列(五)數據結構(ArrayListQueueStack)及線程安全問題

種類型 增刪 叠代器 鎖機制 時間 AS aop 不同 obj 集合 1. Array(數組): 分配在連續內存中,不能隨意擴展,數組中數值類型必須是一致的。數組的聲明有兩種形式:直接定義長度,然後賦值;直接賦值。   缺點:插入數據慢。   優點:性

scala的option[T]AnyNothingNullnullNilNoneSome和Unit

scala中的option[T]、Any、Nothing、Null、null、Nil、None和Unit   1 Option[T] 、 None 和 Some Option定義: package scala @scala.SerialVersionUID(val

Python資料型別strlisttupledictset

字串 字串常見的功能 name = 'fe_cow' print name.capitalize() # 首字母大寫 :Fe_cow print name.count('_') # 統計字串出現在這個字元中的個數: 1 print name.center(

python知識整理--議可變物件和不可變物件以及strlisttupledictset

可變物件:變數、list 不可變物件:str、tuple、dict、set 1、變數是可變的不用多說,變數賦值一次便改變一次。 2、list 可變物件,可對list進行如下新增刪除排序等操作。 list = [2,3,5,1,2] list.append(8) list.insert(0,

【快學SCALAScala檔案的讀取寫入控制檯輸入操作

1、檔案的讀取、寫入操作 2、控制檯操作程式碼實戰 val file = Source.fromFile("E:\\WangJialin.txt") for(line <-file.getLines){println(file)

ScalaArray(集合序列)

Scala開篇(目錄) 陣列是一種可變的、可索引的資料集合。在Scala中用Array[T]的形式來表示Java中的陣列形式 T[]。 val numbers = Array(1, 2, 3, 4) //宣告一個數組物件 val first = numb

scala集合的交集並集差集

原文網址:http://hongjiang.info/scala-union-diff-intersect/ scala中有一些api設計的很人性化,集合的這幾個操作是個代表: 交集: scala> Set(1,2,3) & Set(2,4) //

淺談JavaCollectionIterableListArrayList間的關係

        Java是一個高階語言,它提供了很多現成的資料結構,給我們的程式設計帶來了極大的遍歷。這都是由Java程式設計的高手給出的,學習這裡面的實現方式無論是對於我們使用這些工具還是對於掌握Java的程式設計之道都是很有幫助的。本文主要講述Java中的表的實現方式。

C++ vectorlistdequesetmap的底層實現

stl容器區別: vector list deque set map-底層實現 stl容器區別: vector list deque set map (轉) 在STL中基本容器有: vector、list、deque、set、map set 和map

Java陣列ListSet互相轉換

陣列轉List String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List staffsList = Arrays.asList(staf

vectorlistmapset的erase用法

(1)list與vector     list與vector中的erase用法相同,它們的 erase 函式會返回指向下一個元素的迭代器,因此在遍歷時,只需要 it = c.erase(it); 即可。如示例程式碼: vector<int>::iterator

ScalaScala的模式匹配型別引數與隱式轉換

1、模式匹配 (1)概述 模式匹配是Scala中非常有特色,非常強大的一種功能。模式匹配,其實類似於Java中的swich case語法,即對一個值進行條件判斷,然後針對不同的條件,進行不同的處理。但是Scala的模式匹配的功能比Java的swich case語