黑马程序员技术交流社区

标题: 关于将数组转成集合后,为什么不能往集合中添加元素呢 [打印本页]

作者: dsh    时间: 2014-10-10 22:56
标题: 关于将数组转成集合后,为什么不能往集合中添加元素呢
关于将数组转成集合后,为什么不能往集合中添加元素呢     集合的长度是可变的,  还有我想知道  数据是如何变成集合的
作者: 838598737    时间: 2014-10-10 23:00
数组一旦初始化,长度固定,不能改变
作者: dsh    时间: 2014-10-10 23:03
838598737 发表于 2014-10-10 23:00
数组一旦初始化,长度固定,不能改变

那数组转成集合是如何操作的呢
作者: 水竹    时间: 2014-10-10 23:05
dsh 发表于 2014-10-10 23:03
那数组转成集合是如何操作的呢

转成集合后不能使用集合的添加、删除方法,总之就是不能让长度改变。
作者: zz_job    时间: 2014-10-11 00:04
以下是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 - 支持列表的数组。
返回:
指定数组的列表视图。
请注意红字部分,将数组转成列表(也就是集合的一种)后,这个集合仍与原数组有关系,即对这个集合的更改也会改变数组。而数组的长度是不能变的,所以这个集合也不能变。
我的理解是,这里由数组转成的集合,就像是给数组建立的快捷方式一样,只是方便你调用集合中的方法对数组中的元素进行操作。
以上。

作者: LFW    时间: 2014-10-11 11:11
我的理解,数组转集合是为了让数组能用到集合的方法,数组长度是不能变的,这个集合和数组有一定的联系,所以不能改变其长度




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2