List,tuple和array的区别
答案:2 悬赏:0 手机版
解决时间 2021-02-05 11:53
- 提问者网友:棒棒糖
- 2021-02-05 01:15
List,tuple和array的区别
最佳答案
- 五星知识达人网友:七十二街
- 2021-02-05 02:55
相同点:
1.长度都是固定的,不可变长
2.早期的Scala版本,Array、List都不能混合类型,只有Tuple可以,2.8版本以后,3者的元素都可以混合不同的类型(转化为Any类型)
不同点:
1.Array 中的元素值可变,List和Tuple中的元素值不可变
2.Array一般是先确定长度,后赋值,而List和Tuple在声明的时候就需要赋值
3.Array取单个元素的效率很高,而List读取单个元素的效率是O(n)
4.List和Array的声明不需要new关键字,而Tuple声明不管有无new 都可以
val arrayTest = Array(1,2,3,4) //正确
val arrayTest = Array(1,2,3,4) //错误
[java] view plain copy
val listTest = List(1,2,3,4) //正确
val listTest = new List(1,2,3,4) //错误
val tupleTest = Tuple(1,2,"aaa") //正确
val tupleTest = new Tuple(1,2,"aaa") //正确
val tupleTest = (1,2,"aaa") //正确
5.当使用混合类型时,Array和List会将元素类型转化为Any类型,而Tuple则保留每一个元素的初始类型
6.访问方式不同,Array和List的下标从0开始,且使用小括号,而Tuple的下标从1开始,切使用点加下划线的方式访问,如:arrayTest(0), listTest(0); Tuple访问: tupleTest._1
1.长度都是固定的,不可变长
2.早期的Scala版本,Array、List都不能混合类型,只有Tuple可以,2.8版本以后,3者的元素都可以混合不同的类型(转化为Any类型)
不同点:
1.Array 中的元素值可变,List和Tuple中的元素值不可变
2.Array一般是先确定长度,后赋值,而List和Tuple在声明的时候就需要赋值
3.Array取单个元素的效率很高,而List读取单个元素的效率是O(n)
4.List和Array的声明不需要new关键字,而Tuple声明不管有无new 都可以
val arrayTest = Array(1,2,3,4) //正确
val arrayTest = Array(1,2,3,4) //错误
[java] view plain copy
val listTest = List(1,2,3,4) //正确
val listTest = new List(1,2,3,4) //错误
val tupleTest = Tuple(1,2,"aaa") //正确
val tupleTest = new Tuple(1,2,"aaa") //正确
val tupleTest = (1,2,"aaa") //正确
5.当使用混合类型时,Array和List会将元素类型转化为Any类型,而Tuple则保留每一个元素的初始类型
6.访问方式不同,Array和List的下标从0开始,且使用小括号,而Tuple的下标从1开始,切使用点加下划线的方式访问,如:arrayTest(0), listTest(0); Tuple访问: tupleTest._1
全部回答
- 1楼网友:何以畏孤独
- 2021-02-05 04:20
区别大了,首先tuple不能修改,然后python里面都是对象,有很多自带方法和属性,用起来可比c的数组灵活多了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯