zoukankan      html  css  js  c++  java
  • java基础——迭代器

    对 Collection 进行迭代的类,称其为迭代器。

    迭代器就是专门取出集合元素的对象。但是该对象比较特殊,不能直接创建对象(通过new),该对象是以内部类的形式存在于每个集合类的内部。

    如何获取迭代器?Collection接口中定义了获取集合类迭代器的方法(iterator()),所以所有的Collection体系集合都可以获取自身的迭代器。

    每个集合子类都对iterator()进行了重写

    iterator接口定义的方法

    Itreator    该接口是集合的迭代器接口类,定义了常见的迭代方法
        1:boolean hasNext()  判断集合中是否有元素,如果有元素可以迭代,就返回true。
        2: E next()        返回迭代的下一个元素,注意: 如果没有下一个元素时,调用next元素会抛出NoSuchElementException
        3: void remove()    从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。

    迭代器遍历/清空集合

    public static void main(String[] args) {
            ArrayList list = new ArrayList();
            // 增加:add() 将指定对象存储到容器中
            list.add("计算机网络");
            list.add("现代操作系统");
            list.add("java编程思想");
            list.add("java核心技术");
            list.add("java语言程序设计");
            System.out.println(list);
            Iterator it = list.iterator();
            while (it.hasNext()) {
                String next = (String) it.next();
                System.out.println(next);
            }
        }
    public class Demo1 {
        public static void main(String[] args) {
            Collection coll = new ArrayList();
            coll.add("aaa");
            coll.add("bbb");
            coll.add("ccc");
            coll.add("ddd");
            System.out.println(coll);
            Iterator it = coll.iterator();
            while (it.hasNext()) {
                it.next();
                it.remove();
            }
            System.out.println(coll);
        }
    }

    https://www.cnblogs.com/cao-yin/p/9643296.html 常用迭代器遍历大全

    迭代器遍历List,Set

    List<String> list = new ArrayList<String>();
            list.add("a");
            list.add("b");
            Iterator<String> iterator = list.iterator();
            while(iterator.hasNext()){
                String next = iterator.next();
                System.out.println(next);
            }
    Set<String> set = new HashSet<String>();
            set.add("c");
            set.add("d");
            Iterator<String> iteratorSet = set.iterator();
            while (iteratorSet.hasNext()){
                String next = iteratorSet.next();
                System.out.println(next);
            }

    迭代器遍历Map

    Map<Integer,String> map = new HashMap<Integer, String>();
            Set<Map.Entry<Integer, String>> entries = map.entrySet();
            Iterator<Map.Entry<Integer, String>> iteratorMap = entries.iterator();
            while (iteratorMap.hasNext()){
                Map.Entry<Integer, String> next = iteratorMap.next();
                System.out.println(next);
            }

    当然也可以通过Set<K> s = map.keySet();得到键值set后进行遍历

  • 相关阅读:
    ubuntu重复登录问题
    CUDA相关问题
    pytorch安装(使用pip3装到conda环境下)
    ubuntu16.04 anaconda的安装和卸载
    vscode插件安装失败的解决方案
    使用ffmpeg进行视频截图
    Spring加载早期获取BasePackage
    chrome最耐看的主题
    针对MySQL的MVCC多版本并发控制的一些总结
    docker创建mysql容器,并挂载数据+配置
  • 原文地址:https://www.cnblogs.com/zsben991126/p/12149670.html
Copyright © 2011-2022 走看看