迭代器的使用iterator

来源:互联网 发布:如何设置访客网络 编辑:程序博客网 时间:2024/05/16 06:34

作者:叁念


迭代器的使用iterator

迭代器的使用iterator


import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;public class Show01 {    public static void main(String[] args) {        List <Integer>list = new ArrayList<>();        list.add(5);        list.add(8);        list.add(2);        list.add(4);        list.add(6);        list.add(9);        list.add(3);        list.add(1);        list.add(7);        /**         * 使用方法一         */        //获取数组列表的迭代器        Iterator<Integer> it = list.iterator();        while(it.hasNext()) {//当列表还有下一个元素时,返回true,否则返回false            //打印元素            System.out.println(it.next());        }        System.out.println("***************我是分割线1*********************");        /**         * 使用方法二(优化方法)         */        for(Integer i:list) {            System.out.println(i);        }        System.out.println("***************我是分割线2*********************");        /**         * 其他应用场景         */        //交换第0个和第1个元素        Collections.swap(list, 0, 1);        for(int i : list){            System.out.println(i);        }        System.out.println("***************我是分割线3*********************");        //升序排序        Collections.sort(list);        //降序(反转指定列表中元素的顺序。)        Collections.reverse(list);        //打乱        Collections.shuffle(list);        for(int i : list){            System.out.println(i);        }    }}

其他使用例子:

import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class DemoTest {    public static void main(String[] args) {        //测试List        List <String>list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        list.add("赵六");        list.add("张三");        list.add("张三");        list.add("张三");        //循环整个列表        for(int i = 0; i<list.size();i++){            System.out.println(list.get(i));        }        //使用iterator        Iterator<String> it = list.iterator();        while(it.hasNext()){            System.out.println(it.next());        }        /**         * 上诉写法优化之后为下列写法         */        //for - each循环        for(String s : list){            System.out.println(s);        }        /**         * 注意!!!删除操作         */        //删除张三        for(int i = 0;i<list.size();i++){            if("张三".equals(list.get(i))){                list.remove(i);            }        }        for (String s : list){            System.out.println(s);        }        //***********该方法错误,删除不干净不允许,应该使用以下写法*********        Iterator<String> it1 = list.iterator();        while(it1.hasNext()){            if("张三".equals(it1.next())){                it1.remove();            }        }        for (String s : list){            System.out.println(s);        }    }}