11.查看数组的类型
scala> val arr=Array("zhangsan","lisi","wangwu","zhaoliu")
arr: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
arr.getClass
res26: Class[_ <: Array[String]] = class [Ljava.lang.String;
12.数组的尾部追加单个元素,返回一个新的数组
scala> val arr1 = Array("zhangsan", "lisi", "wangwu", "zhaoliu")
arr1: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
//返回新的数组
scala> arr1:+"jack"
res36: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu, jack)
//原数组不变
scala> arr1
res41: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
13.数组的尾部追加数组元素,返回一个新的数组,’:+’将整个数组添加到最后一个元素上。
scala> val arr1 = Array("zhangsan", "lisi", "wangwu", "zhaoliu")
arr1: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
scala> val arr2 = Array("jack", "lily")
arr2: Array[String] = Array(jack, lily)
//返回一个新的数组
scala> arr1:+arr2
res42: Array[java.io.Serializable] = Array(zhangsan, lisi, wangwu, zhaoliu, Array(jack, lily))
//原来数组不变
scala> arr1
res43: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
14.数组的尾部追加数组元素,返回一个新的数组,’++’将两个数组的合并成一个新的数组
scala> val arr1 = Array("zhangsan", "lisi", "wangwu", "zhaoliu")
arr1: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
scala> val arr2 = Array("jack", "lily")
arr2: Array[String] = Array(jack, lily)
//返回一个新的数组,两个数组元素的合并
scala> arr1++arr2
res44: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu, jack, lily)
//原来数组不变
scala> arr1
res45: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
15.数组排序,返回一个新的数组,原来数组不会发生任何改变,如果数组的元素是数字,默认从小到大排序。
scala> val arr=Array(3,5,8,9,4)
arr: Array[Int] = Array(3, 5, 8, 9, 4)
//返回一个新的数组
scala> arr.sorted
res1: Array[Int] = Array(3, 4, 5, 8, 9)
//原数组不变
scala> arr
res2: Array[Int] = Array(3, 5, 8, 9, 4)
16.数组排序,返回一个新的数组,原来数组不会发生任何改变,如果数组的元素是字符或字符串,默认按字母从小到大排序。
scala> val arr = Array("zhangsan", "lisi", "wangwu", "zhaoliu")
arr: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
scala> arr.sorted
res3: Array[String] = Array(lisi, wangwu, zhangsan, zhaoliu)
scala> arr
res4: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
17.数组的反转,返回一个新的数组,原来数组不会发生任何改变
scala> val arr=Array(3,5,8,9,4)
arr: Array[Int] = Array(3, 5, 8, 9, 4)
//返回一个新的数组
scala> arr.reverse
res9: Array[Int] = Array(4, 9, 8, 5, 3)
//原数组不变
scala> arr
res10: Array[Int] = Array(3, 5, 8, 9, 4)
18.数组的zip操作一,返回一个新的数组,原来数组不会发生任何改变
//1.定义两个数组
scala> val arr1 = Array("zhangsan","lisi","wangwu","zhaoliu")
arr1: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
//2.返回一个新的数组
scala> val arr2 = Array(18,20,19)
arr2: Array[Int] = Array(18, 20, 19)
//3.原来数组不会发生任何改变
scala> val arr3 = arr1.zip(arr2)
arr3: Array[(String, Int)] = Array((zhangsan,18), (lisi,20), (wangwu,19))
scala> arr1
res0: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
scala> arr2
res1: Array[Int] = Array(18, 20, 19)
19.数组的zip操作二
//1.定义两个数组
scala> val arr1 = Array("zhangsan","lisi","wangwu","zhaoliu")
arr1: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
scala> val arr2 = Array(18,20,19)
arr2: Array[Int] = Array(18, 20, 19)
//2.返回一个新的数组
scala> val arr4= arr2.zip(arr1)
arr4: Array[(Int, String)] = Array((18,zhangsan), (20,lisi), (19,wangwu))
20.判断数组为空
scala> val arr=Array("zhangsan","lisi","wangwu","zhaoliu")
arr: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
scala> arr.isEmpty
res24: Boolean = false
21.判断数组不为空
scala> val arr=Array("zhangsan","lisi","wangwu","zhaoliu")
arr: Array[String] = Array(zhangsan, lisi, wangwu, zhaoliu)
scala> arr.nonEmpty
res25: Boolean = true