Scala_可变映射与不可变映射、iterator迭代器

这篇博客主要介绍了Scala中的Map操作,包括不可变Map的定义和使用,以及可变Map的创建与修改。此外,还展示了如何通过iterator迭代器遍历集合,并使用while和for循环进行迭代。博客内容涵盖了Scala的基础数据结构和迭代操作,对于理解Scala编程有帮助。
摘要由CSDN通过智能技术生成
object demo4{
    def main(args:Array[String]){
//不可变映射的两种定义方式:
        var map1 =Map("xiaobao"->23,"chuyu"->22,"59"->23)//不可变的Map结构
        var map2 =Map(("baobao",23),("cucu",22),("wuwu",23))//不可变的Map结构
        //通过key获取value的值
        println(map1("xiaobao"))
        println(map1.getClass)
//使用可变Map
        import scala.collection.mutable.Map
        val mapA =Map("zhangsan"->30,"lishi"->32)
        println(mapA.getClass)
        //修改value
        mapA("zhangsan")=29
        println(mapA)


//iterator迭代器:从集合获取一个迭代器
        val listA = List(1,2,3,4,5,6)
        val ite = listA.iterator//获取迭代器
//使用while表达式迭代
        while(ite.hasNext){
            print(ite.next.toString+" ")
        }
        //hasNext方法:查询容器是否有下一个元素
        //next方法:返回迭代器下一个元素,如果没有,抛出NoSuchElementException,每个迭代器都是有状态的
        println()
//使用for表达式迭代
        val listB = List(11,12,13,14,15,16)
        //需要重新定义一个迭代器
        val itr = listB.iterator
        for(i<-itr) print(i.toString+" ")
        println()
    }
}
(zzjz) [root@VM-16-5-centos scala-learn]# scalac demo4.scala 
(zzjz) [root@VM-16-5-centos scala-learn]# scala demo4
23
class scala.collection.immutable.Map$Map3
class scala.collection.mutable.HashMap
Map(lishi -> 32, zhangsan -> 29)
1 2 3 4 5 6 
11 12 13 14 15 16 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值