iterable 是序列(seq), 集(set) 對映(map)的特質
序列式有序的集合如陣列和列表
集合可以通過== 方法確定對每個物件最多包含乙個
對映包含了鍵值對映關係的集合
列表快取:
使用listbuffer代替list 另乙個理由是為了避免棧溢位的風險
陣列快取: arraybuffer需要先從可變集合包引用 scala.collection.mutable.arraybuffer
val buf = new arraybuffer[int]()
佇列queue:先進先出
classbankaccount
def widthdraw(account: int): boolean =
}}
abstractclass
simulation =>unit
case
class
workitem(time: int, action: action)
private var currtime = 0def currenttime: int =currtime
private var agenda: list[workitem] =list()
private
def insert(arg: list[workitem],
item: workitem) : list[workitem] =
def afterdelay(delay: int)(block: => unit) = => block)
agenda = insert(agenda, item )*/}
private
def next()
} def run()
//while (!agenda.isempty) next()
}}
classtime
def hour: int =h
def hour_ = (x: int)
def minute: int =m
def minute_ = (x: int)
}
classscala
object scala
def isort(sx: list[int]): list[int] =
def isinsert(ss: int,sx: list[int]) : list[int] =
//以下使用模式匹配
def isort2(sx: list[int]) : list[int] =sx match
def insert2(x: int, xs: list[int]): list[int] =xs match
sx match
} //佇列
val queue1 = new
mutable.queue[int]
val va1 = queue1.enqueue(1) //
不可變佇列新增元素用enqueue
val queue = new
mutable.queue[string]
queue += "a"queue ++= list("b", "c")
//有序的 val ts = mutable.treeset(2,4,6,7,0,8,3)
def mapmaker: map[string, string] =
}}
scala集合型別,函式
scala使用初步介紹 函式 def 建立容器 array 1,2,3 list 1,2,3 array 1,2,3 tolist map k1 1 k2 2 scala.tuple3 1,2,3 1,2,3 取出元素 arr 0 arr 1 list 0 list 1 map k1 tup.1,t...
Scala基礎學習 scala集合 005
定長陣列 println test val a new array string 5 a.length a 0 hello 賦值 a 1 取值 b 1 flink 可以修改值,並沒有修改指標 val c array 1,2,3,4,5,6 c.mkstring 轉換為字串 c.mkstring c....
scala學習筆記 集合
變長陣列 陣列緩衝 scala中對於那種長度會變的陣列的資料結構為arraybuffer。import scala.collection.mutable.arraybuffer 乙個空的陣列緩衝,準備存放整數 val array buffer arraybuffer int 或者 new array...