12_Scala_集合汇总

举报
alexsully 发表于 2021/05/24 20:34:03 2021/05/24
【摘要】 数据结构集合汇总待完善


汇总待完善

 

创建

遍历

Array

new Array[Int](3)

Array(1, 2, 3)

 

array1(0) = 10

 

 

array1(0) = 20

 

array1(0)

for (index <- 0 until array2.length)

 

ArrayBuffer

ArrayBuffer[Int](1, 2, 3)

 

arraybuffer1.append(20)
arraybuffer1 += 10

 

arraybuffer1.remove(1)

 

 

 

For(item <- array1)

 

 

 

 

 

 

 

List

val list1 = List(1, 2, 3, "alex")

val list2 = List(100)

val list2_update1 = list2 :+ 1  返回一个新List

val list2_update2 = 10 +: list2

var list3 = List(1,2)

val list3_a = 3 :: list3 :: Nil

val list3_b = 10 :: list3 ::: Nil

 

 

list1(0)

for (item <- list1){ println(item)

}

Listbuffer

val listbuffer2 = new ListBuffer[Int]  //空list

val listbuffer1 = ListBuffer[Int](1, 2, 3)

listbuffer2 += 4

listbuffer2.append(5)

listbuffer2 ++= listbuffer1  //把listbuffer1的元素加到listbuffer2

listbuffer1.remove(0)

listbuffer1(0) = 10

 

 

 

 

 

 

 

 

 

Queue

 new mutable.Queue[Any]()
val list11 = List(1, 2)

 qu1 += 10
qu1 ++= list11  添加list
qu1.enqueue(3, 4)   入队列 默认加入队尾  自身变化

 qu1.dequeue()  队首取数据 取出元素(弹出去) 自身变化

qu1.remove(1)

 qu1(1) =20

 qu1.head
qu1.length

 

Tuple

 tup1 = (10, 20, 30, "hello", 40)

 

 

 

 tup1._1   访问元祖第一个元素从1开始
tup1.productElement(0) 访问元祖第一个元素从0开始

 

Map

 Map("Alex" -> 30, "BoB" -> 40, "Robbin" -> 28)
mutable.Map("Alex" -> 30, "BoB" -> 40, "Robbin" -> 28)
mutable.Map(("Alex", 35), ("BoB", 45))

 map5 += ("A" -> 100)

 map5 -= ("A", "B", "AAA")

  map5("A") = 20

 map4("Alice")
map.get(key).get
map4.getOrElse("Alex~~", "默认的值Alexander")

 for ((k,v) <- map1) println(k + " map to " + v)

set

 set_immut = Set(1, 2, 3)
mutable.Set(10, 20, 30)

 set_mutable.add(40)  // 方法
set_mutable+=50      // 操作符

 set_mutable -= 10  //操作符形式
set_mutable.remove( 30) // 调用方法形式  返回值是布尔值

 

 set_mutable(30)  // 返回布尔,是否存在

 for (i <- set_mutable) println(i )

 

 

 

 

 

 

for (item <- 0 to 3) //0123

for (item <- 0 until 3) //012

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。