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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

关于将数组转成集合后,为什么不能往集合中添加元素呢     集合的长度是可变的,  还有我想知道  数据是如何变成集合的

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

5 个回复

倒序浏览
数组一旦初始化,长度固定,不能改变
回复 使用道具 举报
dsh 中级黑马 2014-10-10 23:03:23
藤椅
838598737 发表于 2014-10-10 23:00
数组一旦初始化,长度固定,不能改变

那数组转成集合是如何操作的呢
回复 使用道具 举报
dsh 发表于 2014-10-10 23:03
那数组转成集合是如何操作的呢

转成集合后不能使用集合的添加、删除方法,总之就是不能让长度改变。
回复 使用道具 举报
以下是Arrays类中的asList()方法:
public static <T> List<T> asList(T... a)返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)此方法同 Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。
此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:

     List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");

参数:
a - 支持列表的数组。
返回:
指定数组的列表视图。
请注意红字部分,将数组转成列表(也就是集合的一种)后,这个集合仍与原数组有关系,即对这个集合的更改也会改变数组。而数组的长度是不能变的,所以这个集合也不能变。
我的理解是,这里由数组转成的集合,就像是给数组建立的快捷方式一样,只是方便你调用集合中的方法对数组中的元素进行操作。
以上。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

回复 使用道具 举报
LFW 中级黑马 2014-10-11 11:11:44
地板
我的理解,数组转集合是为了让数组能用到集合的方法,数组长度是不能变的,这个集合和数组有一定的联系,所以不能改变其长度
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马