使用Iterator遍历map以及list用法

简介: 使用Iterator遍历map以及list用法

Iterator接口简介:

  Java中的Iterator**功能比较简单,只能单向移动:
  (1) 使用方法iterator()要求容器返回一个Iterator。
   Iterator iter = list.iterator(); // 注意iterator,首字母小写
   第一次调用Iterator的next()方法时,它返回序列的第一个元素。
   注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
  (2) 使用next()获得序列中的下一个元素。
  (3) 使用hasNext()检查序列中是否还有元素。
  (4) 使用remove()将迭代器新返回的元素删除。

代码如下(示例):

public class IteratorTest {
    public static void main(String[] args) {
        //Map遍历
        Map<String,String> pets = new HashMap<String,String>();
        pets.put("dog","ww");
        pets.put("cat","ee");
        pets.put("pig","rr");
        String name="";
       /*
         *Entry<String, String>表示map中键值对都是String类型的
         *pets.entrySet()是把HashMap类型的数据转换成集合类型
         *pets.entrySet().iterator();是去获得这个集合的迭代器,保存在it中
         *
        */
        Iterator<Map.Entry<String, String>> it = pets.entrySet().iterator();

        while (it.hasNext()){
            Map.Entry entry = it.next(); //获得map中的每一个键值对
            System.out.println(entry);
            name =entry.getValue().toString();
            System.out.println(name);
        }
        //list遍历
        List l = new ArrayList();
        l.add("a");
        l.add("b");
        l.add("c");
        //迭代器用于while循环
        Iterator iter = l.iterator();
        while(iter.hasNext()){
            String str = (String) iter.next();
            System.out.println(str);
        }
       }

    }

运行结果:

在这里插入图片描述

目录
相关文章
|
2月前
|
Go
go语言中遍历映射(map)
go语言中遍历映射(map)
60 8
|
1月前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
64 18
你对Collection中Set、List、Map理解?
|
25天前
|
存储 缓存 安全
只会“有序无序”?面试官嫌弃的List、Set、Map回答!
小米,一位热衷于技术分享的程序员,通过与朋友小林的对话,详细解析了Java面试中常见的List、Set、Map三者之间的区别,不仅涵盖了它们的基本特性,还深入探讨了各自的实现原理及应用场景,帮助面试者更好地准备相关问题。
56 20
|
2月前
|
存储 C++ 容器
【C++】map、set基本用法
本文介绍了C++ STL中的`map`和`set`两种关联容器。`map`用于存储键值对,每个键唯一;而`set`存储唯一元素,不包含值。两者均基于红黑树实现,支持高效的查找、插入和删除操作。文中详细列举了它们的构造方法、迭代器、容量检查、元素修改等常用接口,并简要对比了`map`与`set`的主要差异。此外,还介绍了允许重复元素的`multiset`和`multimap`。
36 3
【C++】map、set基本用法
|
1月前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
39 12
|
2月前
|
存储 Go
go语言 遍历映射(map)
go语言 遍历映射(map)
42 2
|
3月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
32 1
|
4月前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
45 5
|
7月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
1074 1
|
6月前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。