scala的foreach用法

1:对字符串数组使用foreach

 val mylist = Array("a1","b2","c3")
 mylist.foreach(arg=>println(arg))   
 2:对链表使用foreach

 val words:List[Int] = List(1,2,3,4,5)
 words.foreach(word=>println(word))

3:对集合Set使用foreach

    val s:Set[Int] = Set(1,2,3)
    s.foreach(si=>println(si))

4:对Map使用foreach

    val m:Map[String,String]=Map("a"->"aa","b"->"bb")
    m.foreach(mi=>println(mi))

打印结果:

(a,aa)
(b,bb)

如果要向Map中增加元素:

m +=("c"->"cc") 并且前面定义变量m时不能用val m形式,只能用var m形式。Map中元素的删除目前

5:对元组使用foreach

scala中元组中元素是不可变的,最多只能有22元组可双容纳不同的元素对象。元组中元素虽然不可变,但元素是对象时对象的内容是可以变动的,见下例:

    class ClsTmp{
      var i:Int=2
    }
    val ct = new ClsTmp()
    val t=(1,"abc",'d',Console,ct) //Console是控制台对象
    t.productIterator.foreach(it=>println(it))
    val ctt:ClsTmp = t._5 //t._5表示元组t中的第5个元素,元组限制最高只能有22个元素,超过则不能编译
    ctt.i = 4
    println(ctt.i)
    ct.i=3
    println(ct.i)
    println(ctt.i)

打印结果:

1
abc
d
scala.Console$@7530d0a
ForeachTest$ClsTmp$1@27bc2616
4
3
3

猜你喜欢

转载自my.oschina.net/u/2963604/blog/1805372
今日推荐