做印刷的网站有哪些,做网站怎么赚钱 知乎,毕业设计代做的网站好,外贸网站关键词优化//原始for遍历是用索引来进行遍历 但是现在我们的set集合里面是没有索引的
//所以原先的普通for遍历只能在list遍历中进行//以下的三种遍历方法可以在list和set两种类型中去使用
//—————————————————————————————————————————————…//原始for遍历是用索引来进行遍历 但是现在我们的set集合里面是没有索引的
//所以原先的普通for遍历只能在list遍历中进行//以下的三种遍历方法可以在list和set两种类型中去使用
//————————————————————————————————————————————————————————————
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class Main{public static void main(String[] args){//原始for遍历是用索引来进行遍历 但是现在我们的set集合里面是没有索引的//所以原先的普通for遍历只能在list遍历中进行//以下的三种遍历方法可以在list和set两种类型中去使用//————————————————————————————————————————————————————————————//迭代器遍历不依赖索引 在Java中的类 叫做Iterator 默认指向集合的0索引/**/String str 这是一个迭代器案例分析语句;CollectionString strc new ArrayList();for(int i0;istr.length();i){strc.add(str.substring(i,i1));}IteratorString it strc.iterator();//获取的迭代器指向零索引boolean flag it.hasNext();//判断是否还有下个元素while(it.hasNext()){ //只要还有下一个元素 it.hasNext()判断为true 则while成立String istr it.next();//指针指向某个元素并且暂时存储某个字符System.out.println(istr);//打印我们刚刚指向的这个字符}//现在我们正式来做一个迭代器的例子://1.创建集合并且添加元素CollectionString coll new ArrayList();coll.add(aaa);coll.add(bbb);coll.add(ccc);coll.add(ddd);//2.获取迭代器对象 迭代器好像一个箭头 默认指向集合的0索引处IteratorString It coll.iterator();//右边很好理解也就是coll这个类去调用Iterator的方法//3.我们利用循环去不断地获取集合中的每一个元素while(It.hasNext()){//这个不要理解为下一个元素 不要见名知意 本质上就是判断指针指向的当前元素//4.next方法的两件事情 获取元素并且移动指针String Str it.next();System.out.println(str);}System.out.println(it.next());//这一句话就可以看到异常了 为什么因为已经指向一个没有内容的集合序列区域了System.out.println(it.hasNext());//说明迭代器完成迭代后指针不会复位//如果我们希望继续第二次遍历结合 我们需要创建一个新的迭代器对象IteratorString it2 coll.iterator();while(it2.hasNext()){ //注意有一次hasNext 就只能有一次next方法 不然可能会报错String str2 it.next();System.out.println(str);}//4.一些异常分析/*NoSuchElementException 说明我的指针指向了迭代器的最末端 不会复位的 比如aaa bbb ccc ddd 的序列依次是 0 1 2 3我产生这个异常通常是因为迭代器指针指向了4序列 这个序列上是不存在集合元素 因此会报错同时 我们需要知道 这个指针就只能放在原处了 它不会被移动 如果我们希望重新利用迭代器遍历一次这个集合 需要重新创建一个迭代器 如1.方法在循环当中 next方法只可以使用一次 但是你可以灵活地用变量来储存迭代器遍历的时候 不可以用集合的方法进行增加/删除很重要的结论) 报错是ConcurrentModificationException!不过你虽然不能用coll.remove 但是你可以用it.remove 说白了就是在迭代器类型当中需要用迭代器来进行删除 而不是集合*///————————————————————————————————————————————————————————————//增强for遍历//Lambda遍历}
}