使用Iterator迭代器遍历集合数据

本文详细介绍了如何在Java中使用Iterator迭代器遍历ArrayList、Set和Map集合,包括获取迭代器、通过循环进行迭代的基本操作,以及遍历不同类型集合的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.Collection;
import java.util.*;

/**
 * @author mhSui
 * @create 2018-06-06 8:42
 */
public class Test2{
    public static void main(String[] args) {

        ArrayList<String> list=new ArrayList<>();
        //集合
        list.add("张三");
        list.add("李四");
        list.add("王二");
        list.add("佳明");

        /**
         * Iterator迭代器
         * 1.获取迭代器
         */
        Iterator<String> iter=list.iterator();
        /**
         * 2.通过循环迭代
         * hasNext():判断是否存在下一个元素
         */
        while (iter.hasNext()){
            /**
             * 如果存在,则调用next实现迭代
             * Object-->String
             */
            String lis=iter.next();
            System.out.println(lis);
        }
    }
}

//使用迭代器Iterator遍历Set集合
class Theme{
    private int id;
    private String title;
    private String remark;

    public Theme(){}
    public Theme(int id,String title,String remark){
        this.id=id;
        this.title=title;
        this.remark=remark;
    }
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
class IteratorSet{
    public static void main(String[] args) {
        //存储数据的地址
        Set set =new HashSet<>();
        //存储数据
        set.add(new Theme(1,"标题1","简介:随梦豪是大帅哥!"));
        set.add(new Theme(2,"标题2","简介:随梦豪是大帅哥!"));
        //遍历数据
        Iterator iterator=set.iterator();
        while (iterator.hasNext()){
            Theme theme=(Theme) iterator.next();
            System.out.println(theme.getId()+theme.getTitle()+theme.getRemark());
        }
    }
}

//使用迭代器Iterator遍历Map集合
class IteratorMap{
    public static void main(String[] args) {
        Map map=new HashMap<>();
        map.put(1,"王二");
        map.put(2,"张三");

        //所有键值对中的键,组成一个集合
        Set set=map.keySet();
        Iterator iterator=set.iterator();
        while (iterator.hasNext()){
            //打印出map中的键(1,2)
            System.out.println(iterator.next());
        }

        //打印出值
        //values所有值组成的一个集合
        Collection collections=map.values();
        //重写了toString方法
        //打印出王二、张三
        System.out.println(collections);
    }
}


class IteratorMap2{
    public static void main(String[] args) {
        Map map=new HashMap<>();
        map.put(1,"s");
        map.put(2,"m");
        map.put(3,"h");
        /**
         * 必须掌握
         * 所有键值对中的键,组成一个set集合
         */
        Set set=map.keySet();
        System.out.println(set);
        //values所有的值组成一个集合
        Collection collection=map.values();
        System.out.println(collection);

        /**
         * 获取所有的键和值
         * entrySet可以得到由所有键值对组成的集合
         * 里面存储的是所有的数据(键-值)
         */
        Set<Map.Entry<Integer,String>> entrySet=map.entrySet();
        Iterator<Map.Entry<Integer,String>> iterator=entrySet.iterator() ;
        while (iterator.hasNext()){
            Map.Entry<Integer,String> entry=iterator.next();
            System.out.println("键:"+entry.getKey()+"值:"+entry.getValue());
        }
    }
}
/**
 * @author mhSui
 * @create 2018-06-06 8:42
 */
public class Test2{
    public static void main(String[] args) {

        ArrayList<String> list=new ArrayList<>();
        //集合
        list.add("张三");
        list.add("李四");
        list.add("王二");
        list.add("佳明");

        /**
         * Iterator迭代器
         * 1.获取迭代器
         */
        Iterator<String> iter=list.iterator();
        /**
         * 2.通过循环迭代
         * hasNext():判断是否存在下一个元素
         */
        while (iter.hasNext()){
            /**
             * 如果存在,则调用next实现迭代
             * Object-->String
             */
            String lis=iter.next();
            System.out.println(lis);
        }
    }
}

//使用迭代器Iterator遍历Set集合
class Theme{
    private int id;
    private String title;
    private String remark;

    public Theme(){}
    public Theme(int id,String title,String remark){
        this.id=id;
        this.title=title;
        this.remark=remark;
    }
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
class IteratorSet{
    public static void main(String[] args) {
        //存储数据的地址
        Set set =new HashSet<>();
        //存储数据
        set.add(new Theme(1,"标题1","简介:随梦豪是大帅哥!"));
        set.add(new Theme(2,"标题2","简介:随梦豪是大帅哥!"));
        //遍历数据
        Iterator iterator=set.iterator();
        while (iterator.hasNext()){
            Theme theme=(Theme) iterator.next();
            System.out.println(theme.getId()+theme.getTitle()+theme.getRemark());
        }
    }
}

//使用迭代器Iterator遍历Map集合
class IteratorMap{
    public static void main(String[] args) {
        Map map=new HashMap<>();
        map.put(1,"王二");
        map.put(2,"张三");

        //所有键值对中的键,组成一个集合
        Set set=map.keySet();
        Iterator iterator=set.iterator();
        while (iterator.hasNext()){
            //打印出map中的键(1,2)
            System.out.println(iterator.next());
        }

        //打印出值
        //values所有值组成的一个集合
        Collection collections=map.values();
        //重写了toString方法
        //打印出王二、张三
        System.out.println(collections);
    }
}


class IteratorMap2{
    public static void main(String[] args) {
        Map map=new HashMap<>();
        map.put(1,"s");
        map.put(2,"m");
        map.put(3,"h");
        /**
         * 必须掌握
         * 所有键值对中的键,组成一个set集合
         */
        Set set=map.keySet();
        System.out.println(set);
        //values所有的值组成一个集合
        Collection collection=map.values();
        System.out.println(collection);

        /**
         * 获取所有的键和值
         * entrySet可以得到由所有键值对组成的集合
         * 里面存储的是所有的数据(键-值)
         */
        Set<Map.Entry<Integer,String>> entrySet=map.entrySet();
        Iterator<Map.Entry<Integer,String>> iterator=entrySet.iterator() ;
        while (iterator.hasNext()){
            Map.Entry<Integer,String> entry=iterator.next();
            System.out.println("键:"+entry.getKey()+"值:"+entry.getValue());
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值