List 是一个有序集合,那么可以看出来数组也是集合,他们的区别在在于数组要定义长度,而List 则不需要。
集合的定义非常简
ArrayList 与 vector 都是有序集合,允许重复,一般多线程的情况下使用有序集合才用vector,因为它能保证线程安全。
List l=new ArrayList();
ArrayList 提供了add\remove等方法
l.add("张");
l.add("王");
l.add("赵");
但是如果这里我混合增加一些int也是允许的
l.add("张");
l.add("王");
l.add("赵");
l.add(3);
但这样就没有意义了,我们要约束类型才能实际意义
List<String> l=new ArrayList();
l.add("张");
l.add("王");
l.add("赵");
l.add(3); //这里就会编译不通过,因为已经约束了为String;
遍历集体方法1(不推荐使用这种方法):for
for (int i = 0; i <l.size() ; i++) {
System.out.println(l.get(i));
}
遍历集体方法2(推荐)Iterator
List<String> l=new ArrayList();
l.add("张");
l.add("王");
l.add("赵");
for(Iterator<String> it= l.iterator();it.hasNext();){
System.out.println(it.next());
}
遍历集体方法3(推荐)for each 循环变成Iterator的调用
for (String s:l
) {
System.out.println(s);
}
ArrayList 一般在单线程中使用;而vector 用法和它一样,但效率不如它,但线程安全所以一般用于多线程中使用。