`

Iterator迭代器的使用(自用)

    博客分类:
  • java
阅读更多

Iterator<Entry<String,String>> iter=map.entrySet().iterator();

/获得map的迭代器,用作遍历map中的每一个键值对
Iterator是迭代器,map之前应该定义过,姑且认为是HashMap。<Entry<String,String>>表示map中的键值对都是String类型的。
map.entrySet()是把HashMap类型的数据转换成集合类型
map.entrySet().iterator()是去获得这个集合的迭代器,保存在iter里面。。迭代器这么用:
while(iter.hasNext()) {
  Entry obj = it.next();//就能获得map中的每一个键值对了
}
Iterator<String> iter;//声明一个迭代器,泛型里面是String类型,表示迭代元素是String类型的
Iterator<Entry<String,String>> iter;//而你提供的要稍微复杂一点,迭代元素本身就是一个Entry键值对,Entry<String,String>表示其key值是String,value值也是String。

后面部分:
HashSet set=map.entrySet();//将map类型数据转换成集合set类型的。
iter=set.iterator();//获得集合的迭代器。迭代器只针对集合类型的数据,因此map类型的必须先转换成集合类型才能使用迭代器去获取元素。

Entry首字母大写是因为它是java提供的类。。类首字母大写这是JavaBean规范
keySet获得的只是key值的集合,valueSet获得的是value集合,entryset获得的是键值对的集合
private static void removeItem1() {  
        List<Integer> list = getList();  
        // 使用迭代器  
        Iterator<Integer> iter = list.iterator();  
        Integer item = null;  
        while (iter.hasNext()) {  
            item = iter.next();  
            if (null != item && 5 == item.intValue()) {  
                iter.remove();  
            }  
        }  
        System.out.println(list);  
    }  
  
    private static void removeItem2() {  
        List<Integer> list = getList();  
        // 手动索引操作  
        int len = list.size();  
        Integer item = null;  
        for (int i = 0;i < len;i++) {  
            item = list.get(i);  
            if (null != item && 5 == item.intValue()) {  
                list.remove(item);  
                i--;  
                len--;  
            }  
        }  
        System.out.println(list);  
    }  
  
    private static void removeItem3() {  
        List<Integer> list = getList();  
        // 使用引用克隆  
        List<Integer> listCopy = new ArrayList<Integer>();  
        listCopy.addAll(list);  
        for (Integer item:list) {  
            if (null != item && 5 == item.intValue()) {  
                listCopy.remove(item);  
            }  
        }  
        System.out.println(listCopy);  
    }  
  
 
分享到:
评论

相关推荐

    Iterator迭代器的用法

    该文档是演示迭代器Iterator的使用方法和源代码,其中包括了Iterator的继承类的讲解和再Iterator中的两种方法

    Iterator迭代器讲解

    ### Iterator迭代器详解 #### 一、Iterator简介与概念 在Java编程语言中,`Iterator`接口是一个重要的组件,它提供了遍历集合的基本方法。`Iterator`的主要作用是在不暴露集合内部结构的情况下,顺序访问集合中的...

    java Iterator迭代器的使用

    要使用`Iterator`,首先需要通过调用集合类的`iterator()`方法来获取迭代器实例。例如,对于ArrayList,代码可能如下所示: ```java ArrayList&lt;String&gt; list = new ArrayList(); // 添加元素... Iterator...

    (行为型模式) Iterator 迭代器模式

    C#面向对象设计模式 (行为型模式) Iterator 迭代器模式 视频讲座下载

    Java使用Iterator迭代器遍历集合数据的方法小结

    Java使用Iterator迭代器遍历集合数据的方法小结 Java语言中,使用Iterator迭代器遍历集合数据是一种常见的操作。本文主要介绍了Java使用Iterator迭代器遍历集合数据的方法,并结合实例形式分析了Java迭代器进行集合...

    仿std&&list;的iterator迭代器

    为了高效地遍历和操作这个容器中的元素,STL使用了迭代器(iterator)的概念。迭代器就像一个指针,但具有更高级的功能,能够适应不同的容器和算法。在本主题中,我们将深入探讨如何仿照`std::list`的迭代器进行实现...

    面向对象方法(STL_analysis)of_Iterator迭代器

    面向对象方法(STL_analysis)of_Iterator迭代器,这个文档对这进行了详细介绍,供参考!

    java迭代器模式实现正反向遍历

    在Java编程语言中,迭代器模式(Iterator Pattern)是一种常用的设计模式,用于顺序访问集合对象中的元素,而无需暴露其底层表示。这种模式提供了一种方法来访问一个聚合对象的元素,而无需暴露该对象的内部结构。在...

    java常用的集合类 Iterator迭代器的使用 foreach循环 泛型 Collections、Arrays工具

    常用的集合类Iterator迭代器的使用foreach循环 泛型Collections、Arrays工具

    hashMap利用iterator迭代器迭代元素方法

    当我们需要遍历`HashMap`中的所有元素时,通常会使用`Iterator`接口,它是Java集合框架的一部分,提供了对集合的迭代访问。 `Iterator`接口定义了三个基本方法:`hasNext()`、`next()`和`remove()`。`hasNext()`...

    Iterator 迭代器

    Iterator 迭代器

    Java编程Iterator迭代器设计原理及实现代码示例

    例如,在上面的代码示例中,我们使用了ArrayList集合来存储元素,然后使用Iterator迭代器来遍历集合中的元素。在遍历过程中,我们使用hasNext()方法来判断序列中是否还有元素,然后使用next()方法来获取序列中的下一...

    Map、Set、Iterator迭代详解

    ### Iterator迭代器详解 #### 1. Iterator接口介绍 `Iterator`接口提供了遍历`Collection`中元素的能力。它是一种设计模式,允许开发者遍历容器中的元素,而无需暴露容器底层的实现细节。 #### 2. Iterator接口的...

    Java如何使用Iterator迭代器删除集合重复选项

    Java 中使用 Iterator 迭代器删除集合重复选项是非常重要的知识点,以下是对该知识点的详细解释。 Iterator 迭代器的介绍 Iterator 迭代器是 Java 中的一种设计模式,用于遍历集合中的元素。它提供了一种方式来...

Global site tag (gtag.js) - Google Analytics