如何遍历list
JDK1.7之前底层有一个大小为10的空数组,但是用的无参数,集合中没有元素,所以size为0
JDK1.8 之后提供了优化,不会创建一个10大小的数组,调用add函数,开始开辟堆空间,即数组大小
普通for循环 for(;?
增强for循环 (底层就是使用的迭代器实现,所以只能打印,不能赋值)
for(object e:list){
system.out.println(e);
}
迭代器遍历
hasNext会把指针向下移动来判断下一个是否有值
hasNext()判断迭代器中是否还有下一个元素 有ture
next() 获取上一个元素
remove() 迭代器中的删除方法,删除会同步到集合中,切记绝对不能在迭代器中使用集合对象删除元素,因为无法同步给迭代器对象
Iterator it = list.iterator();
while(it.hasNext()){
system.out.println(it.next());
//迭代器中禁止使用集合对象删除集合中的元素,只能使用迭代器的方法删除
}
for(Iterator its = list.iterator();its.hasNext;){
system.out.println(it.next());
}
当前没有Iterator的时候,迭代器使用Enumeration——这个只适用于Vector(了解)
Vector v = new Vector();
v.addAll(list);
//迭代遍历
Enumeration elements = v.elements(); //需要判断是否还有下一个元素
while(elements