ArrayList<String>list1 = new ArrayList<String>()
list1.add("1")
list1.add("2")
ArrayList<String>list2 = new ArrayList<String>()
list2.add("3")
list2.add("4")
list1.addAll(list2)
数组:可变与不可变
不可变数组是指数组的长度是不可变的,但是数组对应的元素是可变的
可变数组的长度和元素都可以改变
不可变数组
val arr=Array(1,2) 完成初始化,且限定长度为2
val arr=Array Int 长度为5的Int类型数组
val arr=arr ++ arr1只是通过显示申明过类型的数组才可以进行该 *** 作,不然报类型不匹配错误
可变数组
val c = scala.collection.mutable.ArrayBuffer Int
c可以任意的插值和更新值
List:
List是不可变的。长度无法再改变,但是对象可变。
val oneTwoThreeFour = oneTwo ::: threeFourlist合并,与java.lang.String一样,返回的是一个新对象
1 :: twoThree 可以添加值,但只能向前添加
Tuple:
不可变多值对象,其特点是可以放入任意类型的数据
val pair = (99, "Luftballons")内部生成一个Tuple2对象
println(pair._1) 访问是通过_N访问,N从1开始
println(pair._2)
Set:
对可变set和不可变set的分析
对于可变set和不可变set都可以通过 set+="str" 来添加一个元素,但是机制不同
对于不可变set来说,想添加元素变量必须是var修饰,因为不可变set的机制和List相同
返回的是一个新的Set,如果元素是val不可变,就不能接受新的Set。相反,如果是一个
可变集合,即使变量是val修饰的,还是可以添加元素,因为集合本身没有改变
Map:
对象映射关系集合,也分可变不可变,但是原理一样
var myMap=Map(1->"s",2->2) 可以初始化,也可以不
myMap+=(3->"q") 添加或者修改元素
对于所有集合,在初始化时进行赋值 *** 作,编译器会识别并给这个集合表明类型,如果全部是Int
那么这个集合就是Int类型,不可更改。如果插入时又有Int又有String,那么类型是any,可以
对任意类型 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)