A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

数组和集合转换,数组转集合为什么?集合转数组为什么?

7 个回复

倒序浏览
数组在某些功能上没有集合方便,比如排序啊什么的,
集合在使用时有时候满足不了某些要求   比如你要根据脚标找值的时候
回复 使用道具 举报
        
数组转集合:
其实主要是可以使用集合的方法操作数组中的元素 。Arrays中的asList(arr) 可将数组转集合  数组的长度是固定的,所以list也不可以进行删除和添加
。否则会发生UnsupportedOperationException。

集合转数组:
集合转数组可以对集合中的元素操作的方法进行限定。不允许对其进行增删。 使用是Collection接口中的toArray方法。Object[] toArray()  :如果长度小于集合的长度,切割如果大于集合的长度,填充null。


回复 使用道具 举报
数组转集合,主要就是利用集合中的方法来实现某些功能,比如判断数组中是否有某个元素,只有将数组转换为集合,再用集合的contains方法即可实现,而不用再去遍历数组,自定义这些方法。
集合转数组是为了限定对集合元素的操作。常见的就是避免增删操作,因为数组长度一旦定义长度就固定,所以不可进行增删操作。集合转数组的时候返回长度刚好合适的比较好,返回数组的长度为集合的size()即可。
回复 使用道具 举报
攒分升级用户组
回复 使用道具 举报
1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,
但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的
2.数组要声明元素的类型,集合类的元素类型却是object.
3.数组可读可写不能声明只读数组。集合类可以提供ReadOnly方法以只读方式使用集合。
4.数组要有整数下标才能访问特定的元素,然而很多时候这样的下标并不是很有用。集合也是数据列表却不使用下标访问。
很多时候集合有定制的下标类型,对于队列和栈根本就不支持下标访问!
回复 使用道具 举报
两者相互转换,主要是为了用对方的方法方便自己的操作
数组转集合:
其实主要是可以使用集合的方法操作数组中的元素 。Arrays中的asList(arr) 可将数组转集合  数组的长度是固定的,所以list也不可以进行删除和添加。否则会发生UnsupportedOperationException。

集合转数组:
集合转数组可以对集合中的元素操作的方法进行限定。不允许对其进行增删。 使用是Collection接口中的toArray方法。Object[] toArray()  :如果长度小于集合的长度,切割如果大于集合的长度,填充null。
数组转集合,主要就是利用集合中的方法来实现某些功能,比如判断数组中是否有某个元素,只有将数组转换为集合,再用集合的contains方法即可实现,而不用再去遍历数组,自定义这些方法。
集合转数组是为了限定对集合元素的操作。常见的就是避免增删操作,因为数组长度一旦定义长度就固定,所以不可进行增删操作。集合转数组的时候返回长度刚好合适的比较好,返回数组的长度为集合的size()即可。
回复 使用道具 举报
两者相互转换,主要是为了用对方的方法方便自己的操作
数组转集合:
其实主要是可以使用集合的方法操作数组中的元素 。Arrays中的asList(arr) 可将数组转集合  数组的长度是固定的,所以list也不可以进行删除和添加。否则会发生UnsupportedOperationException。

集合转数组:
集合转数组可以对集合中的元素操作的方法进行限定。不允许对其进行增删。 使用是Collection接口中的toArray方法。Object[] toArray()  :如果长度小于集合的长度,切割如果大于集合的长度,填充null。
数组转集合,主要就是利用集合中的方法来实现某些功能,比如判断数组中是否有某个元素,只有将数组转换为集合,再用集合的contains方法即可实现,而不用再去遍历数组,自定义这些方法。
集合转数组是为了限定对集合元素的操作。常见的就是避免增删操作,因为数组长度一旦定义长度就固定,所以不可进行增删操作。集合转数组的时候返回长度刚好合适的比较好,返回数组的长度为集合的size()即可。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马