美文网首页js css html
Java--使用Iterator迭代器遍历容器元素List Se

Java--使用Iterator迭代器遍历容器元素List Se

作者: 李赫尔南 | 来源:发表于2022-10-30 16:47 被阅读0次

  迭代器为我们提供了统一的遍历容器的方式,参见以下示例代码:
【示例】迭代器遍历List

public class Test {
    public static void main(String[] args) {
        List<String> aList = new ArrayList<String>();
        for (int i = 0; i < 5; i++) {
            aList.add("a" + i);
        }
        System.out.println(aList);
        for (Iterator<String> iter = aList.iterator(); iter.hasNext();) {
            String temp = iter.next();
            System.out.print(temp + "\t");
            if (temp.endsWith("3")) {// 删除3结尾的字符串
                iter.remove();
            }
        }
        System.out.println();
        System.out.println(aList);
    }
}

输出:
  [a0, a1, a2, a3, a4]
  a0  a1  a2  a3  a4
  [a0, a1, a2, a4]

建议
  如果遇到遍历容器时,判断删除元素的情况,使用迭代器遍历!

【示例】迭代器遍历Set

public class Test {
    public static void main(String[] args) {
        Set<String> set = new HashSet<String>();
        for (int i = 0; i < 5; i++) {
            set.add("a" + i);
        }
        System.out.println(set);
        for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
            String temp = iter.next();
            System.out.print(temp + "\t");
        }
        System.out.println();
        System.out.println(set);
    }
}

输出:
  [a1, a2, a3, a4, a0]
  a1  a2  a3  a4  a0
  [a1, a2, a3, a4, a0]

【示例】迭代器遍历Map一

public class Test {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("A", "李赫尔南");
        map.put("B", "李白");
        Set<Entry<String, String>> ss = map.entrySet();
        for (Iterator<Entry<String, String>> iterator = ss.iterator(); iterator.hasNext();) {
            Entry<String, String> e = iterator.next();
            System.out.println(e.getkey() + "--" + e.getValue());
        }
    }
}

输出:
  A--李赫尔南
  B--李白

  我们也可以通过map的keySet()、valueSet()获得key和value的集合,从而遍历它们。

【示例】迭代器遍历Map二

public class Test {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("A", "李赫尔南");
        map.put("B", "李白");
        Set<String> ss = map.keySet();
        for (Iterator<String> iterator = ss.iterator(); iterator.hasNext();) {
            String key = iterator.next();
            System.out.println(key + "--" + map.get(key));
        }
    }
}

输出:
  A--李赫尔南
  B--李白

相关文章

  • Iterator的使用

    Iterator(迭代器)是一个接口,它的作用就是遍历容器的所有元素。Iterator iter = list.i...

  • 迭代器

    一。iterator():返回Iterator接口的实例,只用于遍历集合元素集合元素的遍历操作,使用迭代器Iter...

  • Collection常用方法

    iterator iterator() ; // 获得迭代器,用于遍历所有元素boolean contain...

  • Lua 迭代器

    迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确...

  • 第一篇:IteratorProtocol

    迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确...

  • 迭代器模式

    迭代器模式简述 迭代器就是把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访...

  • 2020-02-12 容器和算法

    1:STL迭代器删除失效问题: 对于序列容器来说,使用erase(iterator) 后面每个元素的迭代器都会实效,

  • Collection接口和常用方法

    Collection接口和常用方法Collection接口遍历元素方式1-使用Iterator(迭代器) 基本介绍...

  • 迭代器模式(在对象的集合中游走,但是不暴露集合的实现)

    Iterator迭代器接口负责定义、访问和遍历元素的接口 ConcreteIterator具体迭代器类主要实现迭代...

  • C++ STL中 容器,迭代器,算法之间的耦合关系

    简单实现了容器forward_list 对应迭代器:foward_list_iterator 以及find和...

网友评论

    本文标题:Java--使用Iterator迭代器遍历容器元素List Se

    本文链接:https://www.haomeiwen.com/subject/cikltdtx.html