黑马程序员技术交流社区

标题: List<string>与string[]的区别? [打印本页]

作者: 来明坤    时间: 2012-8-11 18:00
标题: List<string>与string[]的区别?
他俩区别是什么   求代码解释
作者: 冯华亮    时间: 2012-8-11 19:01
这两个没有可比性,一个集合,另一个是数组,通常我们需要对字符串进行排序的时候要用到集合,下面是示例:
string[] str=new string[]{"abc","xyz","heima"};
list<string> li=new list<string>();
for(int i=0;i<str.length();i++)
{
  li.add(str[i]);
}
//因为string已经实现Icomparable接口,所以可直接使用sort()方法。
li.sort();
然后即可遍历输出。
作者: 郑小杰    时间: 2012-8-11 19:11
List<string>是一个集合,<String>是泛型,说明这个集合只能装字符串元素
string[]是一个数组,这个数组能只能装一些字符串。
要想了解这两个的区别,明白list集合和数组的区别就行了
这个你多看看视频,或者API,很容易理解的,呵呵

作者: 冯华亮    时间: 2012-8-11 19:15
郑小杰 发表于 2012-8-11 19:11
List是一个集合,是泛型,说明这个集合只能装字符串元素
string[]是一个数组,这个数组能只能装一些字符串 ...

兄弟,该如何明白list集合和数组的区别?
作者: dmcnero90    时间: 2012-8-12 23:51
List<String> 和 String[]  本质上区别不大.
泛型 只是 对外部听过了一个占位符  也就是T
它在编译的时候 确定 操作的对象类型.
其实内部能然使用的是 数组.
不过List<String> 和 String[] 虽然都是数组 但是它们之前还是存在一些差别的.
首先string[] 数组 长度 length 确定后就不能修改
而List<string> 则可以动态修改 .这是因为List<T>内部有两个属性来体现一个数组的实际长度 和当前容量
即Count 和 CapCity .
当CapCity的默认长度是4 当长度超过4了之后,就会2倍递增.创建一个长度为8的数组.让后再之前那个长度为4的数组的内容拷贝到
新数组中.最后在将原来的那个长度为4的数组删除.




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