<Java Iterator> 迭代器Iterator双层循环

这篇具有很好参考价值的文章主要介绍了<Java Iterator> 迭代器Iterator双层循环。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

案例分享:

package test05;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.print.attribute.HashAttributeSet;

public class test03 {
	public static void main(String[] args) {
		
		// 数据源1:
		List<Map<String,String>> list = new ArrayList<>();
		Map<String, String> map1 = new HashMap<>();
		map1.put("name", "北京");
		map1.put("code", "123");
		Map<String, String> map2 = new HashMap<>();
		map2.put("name", "西安");
		map2.put("code", "456");
		Map<String, String> map3 = new HashMap<>();
		map3.put("name", "成都");
		map3.put("code", "789");
		list.add(map1);
		list.add(map2);
		list.add(map3);
		
		for (int i = 0; i < list.size(); i++) {
        	System.out.println("list:"+list.get(i));
		}
		
		System.out.println("-----------------------------");
		
		// 数据源2:
		List<Map<String,String>> list2 = new ArrayList<>();
		Map<String, String> map4 = new HashMap<>();
		map4.put("name", "北京");
		map4.put("code", "123");
		list2.add(map4);

		for (int i = 0; i < list2.size(); i++) {
        	System.out.println("list2:"+list2.get(i));
		}
		
		System.out.println("-----------------------------");
		
		// 迭代器删除数据:
		Iterator<Map<String, String>> iterator = list.iterator();
        while (iterator.hasNext()){
            Map<String, String> next = iterator.next();
            String name = String.valueOf(next.get("name"));
            String code = String.valueOf(next.get("code"));
            Iterator<Map<String, String>> iterator2 = list2.iterator();
            while (iterator2.hasNext()){
                Map<String, String> next2 = iterator2.next();
                String regionName = String.valueOf(next2.get("name"));
                String RegionCode = String.valueOf(next2.get("code"));
                // 如果list和list2中的每条数据,name和code完全相同,则删除list中的数据;
                if(name.equals(regionName) && code.equals(RegionCode)){
                    iterator.remove();
                }
            }
        }
		
        for (int i = 0; i < list.size(); i++) {
        	System.out.println("迭代器删除数据后:"+list.get(i));
		}
       
	}
}

测试输出:文章来源地址https://www.toymoban.com/news/detail-609400.html

list:{code=123, name=北京}
list:{code=456, name=西安}
list:{code=789, name=成都}
-----------------------------
list2:{code=123, name=北京}
-----------------------------
迭代器删除数据后:{code=456, name=西安}
迭代器删除数据后:{code=789, name=成都}

到了这里,关于<Java Iterator> 迭代器Iterator双层循环的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java常见面试题:什么是迭代器模式(Iterator Pattern)?如何实现迭代器模式?

    迭代器模式(Iterator Pattern)是设计模式中的一种,它提供了一种顺序访问一个聚合对象(如列表、集合等)中各个元素的方法,而又不需要暴露该对象的内部表示。使用迭代器模式,可以方便地遍历一个聚合对象的所有元素,而不需要了解该对象的底层结构。 迭代器模式主

    2024年01月18日
    浏览(41)
  • ES6 - Iterator迭代器和for...of 循环

    JavaScript 原有的表示“集合”的数据结构,主要是数组( Array )和对象( Object ),ES6 又添加了 Map 和 Set 。用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是 Map , Map 的成员是对象。这样就需要一种统一的接口机制,来处理所有不同的数据结构。 遍历器(

    2024年02月14日
    浏览(19)
  • 🔥🔥Java开发者的Python快速进修指南:迭代器(Iterator)与生成器

    这一篇内容可能相对较少,但是迭代器在Java中是有用处的。因此,我想介绍一下Python中迭代器的使用方法。除了写法简单之外,Python的迭代器还有一个最大的不同之处,就是无法直接判断是否还有下一个元素。我们只能通过捕获异常或使用for循环来退出迭代,这点让我感到十

    2024年02月05日
    浏览(39)
  • 【设计模式——学习笔记】23种设计模式——迭代器模式Iterator(原理讲解+应用场景介绍+案例介绍+Java代码实现)

    编写程序展示一个学校院系结构: 需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系 【传统方式】 将学院看做是学校的子类,系是学院的子类,小的组织继承大的组织 分析: 在一个页面中展示出学校的院系组成,一个学校有多个

    2024年02月14日
    浏览(32)
  • C++迭代器(STL迭代器)iterator详解

    要访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。 迭代器按照定义方式分

    2024年02月03日
    浏览(35)
  • 迭代器 Iterator

    迭代器是一种设计模式,它用于遍历集合或容器中的元素,能够访问集合的元素而无需关心集合的内部结构: 特点: 封装集合访问 :迭代器封装了对集合元素的访问,通过迭代器访问集合中的元素,而无需了解集合的内部结构或实现方式。 统一接口 :迭代器提供了一致的

    2024年02月08日
    浏览(37)
  • Python迭代器(Iterator)

    迭代是访问集合元素的一种方式 迭代器是一个可以记住遍历位置的对象。迭代器对象从第一个元素开始访问,直到所有的元素被访问结束。迭代器只能往前不会后退。 能用for循环遍历的对象 for循环的过程可以通过上面的iter()和next()函数来实现,即: 1、先调用iter(),将nums当

    2024年02月15日
    浏览(28)
  • JS - iterator(迭代器)

    一、 概念        JavaScript原有表示“集合”的数据结构,主要是数组(\\\' Array \\\')和对象(\\\' Object \\\' ),ES6又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Map的成员是对象。这样就需要一种统一的接口机制,

    2024年02月07日
    浏览(36)
  • 迭代器模式(Iterator Pattern)

    一、定义 提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示。 二、优缺点 优点:  1、它支持以不同的方式遍历一个聚合对象。 2、迭代器简化了聚合类。 3、在同一个聚合上可以有多个遍历。 4、在迭代器模式中,增加新的聚合类和迭代器类

    2024年02月09日
    浏览(36)
  • 设计模式--迭代器模式(Iterator Pattern)

    迭代器模式(Iterator Pattern)是一种行为型设计模式,用于提供一种统一的方式来访问一个聚合对象中的各个元素,而不需要暴露该聚合对象的内部结构。迭代器模式将遍历集合的责任从集合对象中分离出来,使得可以在不同的情况下使用不同的迭代方式。 迭代器模式通常包

    2024年02月10日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包