【Scala】7、字符串和集合

总结:

  1. scala的字符串用的就是java的字符串,方法也和java中的基本一样
  2. scala中的array list set map都有可变课不可变的两种形式

字符串

	val s="aaa";
    val ss="AAA";

    println(s.equals(ss))
    println(s.equalsIgnoreCase(ss))
    println(s.indexOf('a'))

数组(Array)


/*
    * 2、Array
    * */

    //这里没有导包用的都是不可变数组
    //new 一个数组  ()里的3是 元素个数 默认值都是0
    //val arr2=new Array[Int](3)

    //不new的话  ()是各个元素
    val arr2=Array[Int](1,2,3)
    //赋值取值都是用()不是 通常的[]
    arr2(0)=100;
    arr2(1)=200;
    arr2(2)=100;
    //arr2.foreach(println)


    /*
    * 二维数组
    * */
    val arr3=new Array[Array[Int]](3)

    arr3(0)=Array[Int](1,2,3)
    arr3(1)=Array[Int](4,5,6)
    arr3(2)=Array[Int](7,8,9)
//    for(arr<-arr3;item<-arr){
//      println(item)
//    }
    arr3.foreach(a=>{a.foreach(println)})

    /*
    * 一些方法
    * */
    val arr4 = Array[Int](1, 2, 5)
    val arr5 = Array[Int](7,8,9)

    //合并数组
    val arr6 = Array.concat(arr4, arr5)
    arr6.foreach(println)

    val arr7 = Array.fill(5)("hello")
    arr6.foreach(println)



    //可变数组 在scala.collection.mutable.ArrayBuffer
    val arr8 = ArrayBuffer[Int](1, 2, 3)

    //尾插
    arr8.+=(4)
    //头插
    arr8.+=:(100)
    //尾部追加
    arr8.append(200)

    arr8.foreach(println)

list


def main(args: Array[String]): Unit = {
    val l=List[String]("hello java","hello js","hello spark","a 1")
    //list中的每个元素对应结果集合中的一个元素
    val res1=l.map(s=>{
      s.split(" ")(1)
    })
    res1.foreach(println)
    //ist中的元素对应结果集合中的多个元素
    val res2=l.flatMap(s=>{
      s.split(" ")(1)
    })
    res2.foreach(println)

    //filter  匿名函数中返回true的留下
    val f = l.filter(s => s.equals("hello java"))
    f.foreach(println)

    //count 集合中满足条件的元素的个数
    println(l.count(s=>s.length<4))

    val value = ListBuffer[Int](1, 2, 3)
    value.append(100)
    value.+=(10)
    value.+=:(1000)
    value.foreach(println)
  }
上一篇:java对两个字符串数组取交集、并集和差集


下一篇:bilibiliclass30_C语言_指针的进阶_指针数组