使用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天前
|
Dart
Dart之集合详解(List、Set、Map)
Dart之集合详解(List、Set、Map)
9 1
|
14天前
|
索引
List集合(方法简介,集合遍历)
List集合(方法简介,集合遍历)
|
2天前
|
存储 消息中间件 算法
Java中的集合框架详解:List、Set、Map的使用场景
Java中的集合框架详解:List、Set、Map的使用场景
|
8天前
|
存储 索引 Python
Python教程:深入了解 Python 中 Dict、List、Tuple、Set 的高级用法
Python 中的 Dict(字典)、List(列表)、Tuple(元组)和 Set(集合)是常用的数据结构,它们各自有着不同的特性和用途。在本文中,我们将深入了解这些数据结构的高级用法,并提供详细的说明和代码示例。
13 2
|
16天前
|
存储 安全 Java
Java集合详解:Set, Map, Vector, List的对比与联系
Java集合框架核心包括List、Set、Map和Vector。List允许重复元素,如ArrayList(适合读取)和LinkedList(适合插入删除)。Set不允许重复,有HashSet(无序)和TreeSet(排序)。Map存储键值对,HashMap(无序)和TreeMap(排序)。Vector是线程安全的ArrayList替代品,但在多线程环境下使用。选择集合类型应根据应用场景,如有序、无序、键值对需求及线程安全考虑。
|
19天前
|
存储 安全 Java
Java 集合(List、Set、Map 等)相关问答归纳再整理
HashMap 中使用键对象来计算 hashcode 值 HashSet 使用成员对象来计算 hashcode 值,对于两个对象来说hashcode 可能相同,所以 equals() 方法用来判断对象的相等性,如果两个对象不同的话,那么返回 false。 HashMap 比较快,因为是使用唯一的键来获取对象,HashSet 较 HashMap 来说比较慢。 4.1.3 HashMap 与 TreeMap
12 2
|
14小时前
|
存储 安全 程序员
老程序员分享:List、Map、Set之间的联系与区别:
老程序员分享:List、Map、Set之间的联系与区别:
|
2天前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
8 1
|
7天前
|
存储 安全 Java
Java List详解
Java List详解
|
8天前
|
Java API
使用 Java 来实现两个 List 的差集操作
使用 Java 来实现两个 List 的差集操作
14 3