1.集合体系结构
我们学习的是接口但是使用的是实现类
2.Collection接口(需要导包)
Collection接口并没有具体的实现类,只能通过子接口的实现类来创建对象
public class CollectionDemo {
public static void main(String[] arga){
/*创建Collection对象*/
Collection<String> c=new ArrayList<String>();
}
}
(1)Collection的常用方法
(2)集合的遍历
因为不知道循环次数所以用while进行循环,另外使用变量接收it。Next()而不是直接输出的原因是可以进行再次的操作比较方便
(3) 集合的使用步骤
3.List(需要导包)
(1)List特有的方法
注意有关索引的方法索引不能越界不可以超出原集合中的索引个数,索引要存在
因为List继承自Collection所以可以用上面while的方法来进行遍里,下面是List的另一种遍历方法:
package 第十二章泛型与容器;
import java.util.ArrayList;
import java.util.List;
public class ListDemo01 {
public static void main(String[] args) {
List<String> l=new ArrayList<String>();
l.add("hello");
l.add("world");
l.add("java");
//遍历
for (int i = 0; i < l.size(); i++) {
String string=l.get(i);
System.out.println(string);
}
}
}
(2)并发修改异常
当我们用迭代器遍历并添加元素时不能天机成功出现报错,这个就是并发修改异常
原因是迭代器依赖集合而存在,我们使用迭代器遍历并添加元素时以上面的为例:是因为调用方法添加是list进行的而迭代器·并不知道所以无法添加成功
改进方法:
(3)列表迭代器(继承自Iterator)
next、hasNext方法和previous、hasPrevious的使用方法一样
‘但是用iterator遍历并添加元素是ListIterator调用add方法并不会报错之这一点和Iterator不太一样
(4)List的子类特点:
(5)LinkedList的特有方法: