黑马程序员技术交流社区
标题:
关于数组变成集合的问题
[打印本页]
作者:
唐巍
时间:
2012-3-24 16:55
标题:
关于数组变成集合的问题
通过Arrarys工具类中的asList方法,可以将数组变成List集合。这样将数组变成集合有什么好处?
在下面代码中:
import java.util.*;
class ArraysDemo
{
public static void main(String[] args)
{
String[] arr={"abc","qq","ccccc"};
List<String> list=Arrays.asList(arr);
sop("contains:"+list.contains("qq"));
//list.add("aaa"); //这里数组变成集合后,为什么不能往集合里添加元素?
sop(list);
int[] nums={2,4,54};
List li=Arrays.asList(nums);
sop(li);//这里打印的是集合的哈希地址值。为什么?
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
作者:
刘元霄
时间:
2012-3-24 17:12
将数组变成集合,可以更方便操作。
list.add("aaa"); //这里数组变成集合后,为什么不能往集合里添加元素?
String 是final的。 所以不能添加。
作者:
和心愿
时间:
2012-3-24 18:30
除以上大家说的,这个时候一定要注意到一个问题:堆污染问题
作者:
陈从宾
时间:
2012-3-24 18:36
数组变成集合目的就是为了利用集合的可扩展性
数组和集合的区别:
(1).数组的长度是固定的,在定义数组的时候,就要确定数组长度大小。而集合类在定义的时候不需要确认集合所能容纳对象的数量,也就是说集合的 大小是动态调整的。在实际应用中我们不能确认的需要存放元素数量的时候,采用集合是比较好的。容量可变是集合相对于数组的最大区别之一。
(2)数组既可以容纳基本数据类型,也可以容纳对象。而集合只能容纳对象,不容纳基本数据类型。另外,需要强调一点的是,无论是数组还是容器,当其容纳对 象的时候,存放的都是对象的引用。而数组在容纳基本数据类型的时候,持有的则是数值。
(3) 如果想在集合中容纳基本数据类型,该怎么做呢?
当我们把一个对象放到集合中,该对象好像“失去”了它的型别特征,以后在使用的时候,除非使用者知道存入对象的类型,否则无法正确使用该对象。所以要像上 面的例子一样,要进行一次强制类型的转化
StudentDemo stu2 = (StudentDemo)coll.get(0);将其转化为原来存储时的对象。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2