scala 基础六 scala 中的数组和集合的使用
1.scala 定长数组的使用
数组的定义和分配
val arr1=new Array[String](9)
//给数组赋值 注意 scala的数组用圆括号 而不是方括号
arr1(0)="james";
arr1(1)="tom";
//循环打印数组
for(i<-arr1)
{
println(i)
}
2.定长数组的自动类型和长度推断

3.变长数组ArrayBuffer的定义和使用。
需要引入类库 import scala.collection.mutable.ArrayBuffer;
//定义一个不定长数组
val arr1=ArrayBuffer[String]()
//另一种声明方式
var arr2=new ArrayBuffer[String]();
//在末尾增加一个元素
arr1+="hello";
//在末尾增加多个元素
arr1+=("james","tom","scala");
//在第三个元素之前加入一个元素
arr1.insert(3, "hive")
//在第三个元素前加入多个元素, 其中第一个为index
arr1.insert(3,"harry","suguang","jianzhong")
//在末尾增加一个集合
arr1++=Array("java","spark","hadoop");
//移除末尾的5个元素
// arr1.trimEnd(5)
//移除某个元素
// arr1.remove(1)
//移除从下标为n开始(包括n)的count个元素
arr1.remove(3,5)
for(i<-arr1)
{
println(i);
}
4.数组的循环遍历
//完全遍历
for(i<-arr1)
{
println(i);
}
//根据数组长度索引循环
for(i<-0 until arr1.length)
{
println(arr1(i))
}
//翻转输出
for(i<-(0 until arr1.length).reverse)
{
println(arr1(i))
}
5.数组的转换
////进行数组转换会生成一个新的数组,而不会修改原始数组
var arr3=for(i<-arr1) yield i
println(arr3)
6.数组常用算法
//sum求和(数组与阿奴必须是数值型数据)
println(change.sum)
//min max 输出数组中最小和最大元素
println(change.min)
println(change.max)
//使用sorted方法对数组或数组缓冲进行升序排序,这个过程不会修改原始数组
val sortArr = ab.sorted
for(elem <- sortArr)
print(elem + ", ")
//使用比较函数sortWith进行排序
val sortArr = ab.sortWith(_>_)
//数组显示
println(sortArr.mkString("|"))
println(sortArr.mkString("startFlag","|","endFlag"))

浙公网安备 33010602011771号