java关于集合的遍历与增强for循环的使用

JAVA使用增强for循环和迭代器遍历Map集合 JAVA使用增强for循环和迭代器遍历Map集合 1、通过key集合访问,对Key敢兴趣,可以访问与key对应的Value值;  for(String k:maps.keySet()){             System.out.println(k+":"+maps.get(k));         } 2、通过value集合访问,只对value值感兴趣,无法访问key值; 阅读详情
     java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。
     许多情况需要我们遍历出集合中的元素,并做相应的处理。
     下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法。如果只做简单遍历读取,增强for循环确实减轻不少的代码量。
关于List与Set类型集合的遍历:
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class ListAndSetTest {

	public static void main(String[] args) {
		// List集合的遍历
		listTest();
		// Set集合的遍历
		setTest();
	}

	private static void setTest() {
		Set<String> set = new HashSet<String>();
		set.add("JAVA");
		set.add("C");
		set.add("C++");
		// 重复的加不进去。
		set.add("JAVA");
		set.add("JAVASCRIPT");

		//set集合遍历方法1,使用iterator
		Iterator<String> it = set.iterator();
		while (it.hasNext()) {
			String value = it.next();
			System.out.println(value);
		}
		
		//set集合遍历方法2,使用增强for循环。
		for(String s: set){
			System.out.println(s);
		}
	}

	// 遍历list集合
	private static void listTest() {
		List<String> list = new ArrayList<String>();
		list.add("java111");
		list.add("java222");
		list.add("java333");
		list.add("java444");
		list.add("java555");

		// 遍历方式1 ,使用iterator
		Iterator<String> it = list.iterator();
		while (it.hasNext()) {
			String value = it.next();
			System.out.println(value);
		}

		// 遍历方法2 , 使用传统for循环进行遍历。
		for (int i = 0, size = list.size(); i < size; i++) {
			String value = list.get(i);
			System.out.println(value);
		}

		// 遍历方法3 , 使用增强for循环进行遍历。
		for (String value : list) {
			System.out.println(value);
		}
	}
}

关于Map类型集合的遍历,keySet()与entrySet()方法:
//增强For循环
public class MapTest {

	public static void main(String[] args) {
		// 创建一个HashMap对象,并加入了一些键值对。
		Map<String, String> maps = new HashMap<String, String>();
		maps.put("111", "java111");
		maps.put("222", "java222");
		maps.put("333", "java333");
		maps.put("444", "java444");
		maps.put("555", "java555");
		
		// 传统的遍历map集合的方法1; keySet()
		//traditionalMethod1(maps);
		// 传统的遍历map集合的方法2; entrySet()
		//traditionalMethod2(maps);
		// 使用增强For循环来遍历map集合方法1; keySet()
		//strongForMethod1(maps);
		// 使用增强For循环来遍历map集合方法2; entrySet()
		strongForMethod2(maps);
	}

	private static void strongForMethod2(Map<String, String> maps) {
		Set<Entry<String, String>> set = maps.entrySet();
		for (Entry<String, String> entry : set) {
			String key = entry.getKey();
			String value = entry.getValue();
			System.out.println(key + " : " + value);
		}
	}

	private static void strongForMethod1(Map<String, String> maps) {
		Set<String> set = maps.keySet();
		for (String s : set) {
			String key = s;
			String value = maps.get(s);
			System.out.println(key + " : " + value);
		}
	}

	// 使用entrySet()方法,获取maps集合中的每一个键值对,
	private static void traditionalMethod2(Map<String, String> maps) {
		Set<Map.Entry<String, String>> sets = maps.entrySet();
		// 取得迭代器遍历出对应的值。
		Iterator<Entry<String, String>> it = sets.iterator();
		while (it.hasNext()) {
			Map.Entry<String, String> entry = (Entry<String, String>) it.next();
			String key = entry.getKey();
			String value = entry.getValue();
			System.out.println(key + " : " + value);
		}
	}

	// 使用keySet()方法,获取maps集合中的所有键,遍历键取得所对应的值。
	private static void traditionalMethod1(Map<String, String> maps) {
		Set<String> sets = maps.keySet();
		// 取得迭代器遍历出对应的值。
		Iterator<String> it = sets.iterator();
		while (it.hasNext()) {
			String key = it.next();
			String value = maps.get(key);
			System.out.println(key + " : " + value);
		}
	}
}


Java入门第114课——使用增强型for循环遍历集合 使用foreach循环遍历集合中的元素,详细要求如下:1)使用HashSet构建集合c,将字符串"java"、"cpp"、"php"、"c#"、"objective-c"放入集合c中。2)使用foreach循环遍历集合中的每一个元素,并将每一个字符串元素转化为大写形式。 阅读详情

相关推荐

实战避坑:在STM32上移植AUTOSAR BSW时,MCAL、ECU抽象层和服务层配置有哪些常见‘雷区’?

本文深入解析在STM32上移植AUTOSAR BSW时MCAL、ECU抽象层和服务层配置的常见陷阱,包括时钟树配置差异、GPIO电气特性问题、定时器资源冲突等实战经验。特别针对AUTOSAR架构在资源受限MCU上的特殊挑战,提供具体解决方案和优化策略,帮助开发者规避移植过程中的典型错误。

weixin_30258901的博客 561

增强for循环笔记

增强for循环 笔记来自狂神说Java 介绍 JDK5引入的一种主要用于数组或者集合的增强型for循环。 java增强for循环的语法格式如下 for(声明语句 : 表达式){ //代码 } 声明语句: 声明新的局部变量 该变量的类型必须和数组元素类型匹配。 其作用域限定在循环语句块,其值与此事数组元素的值相等。 表达式: 表达式是要访问的数组名,或者是返回值为数组的方法。 使用 package com.Rain.base; public class Demo01

weixin_45389488的博客 235

SAP 屏幕增强:客户商主数据屏幕增强(KNA1、KNB1、KNVV)

本文介绍了SAP系统中针对客户主数据(KNA1、KNB1、KNVV)进行屏幕增强的具体实现方法。主要内容包括:1)在SPRO配置中创建新条目;2)通过SE80创建函数组和程序(LZKNA1TOP等);3)设置子屏幕9001并添加自定义结构字段;4)利用BADI(CUSTOMER_ADD_DATA等)实现数据交互逻辑。文章分别详细说明了针对客户主数据的一般数据(KNA1)、公司代码数据(KNB1)和销售数据(KNVV)三类不同数据的增强配置步骤,包括函数模块创建、屏幕设置和BADI方法调用等关键技术点。

SAP ABAP开发技能记录分享 1616

Java程序设计--集合(上)(十二)

Java集合是编程中重要的概念,提供有序对象操作。Collection是基本接口,List是其子接口,实现有序可重复元素序列。使用List简化开发和维护工作,处理数据如员工名单、商品列表更高效方便。提供排序、查找、过滤等算法和工具类,支持泛型确保类型安全。掌握Java集合是必备技能。

会思想的苇草i的博客 449

[kriging](一)网上下载的kriging克里金的C++程序的初步调试

笔者在网上下载了一份克里金的C++程序,水平有限,正在逐步地调试中。 初步 克里金法现在在许多软件都已经有集成了,据笔者所知: arcgis : 看过有的arcgis培训视频里面简略介绍了里面的插值方法,有克里金。 surfer :笔者用过这个,效果很好。 gocad :听说有 landmark &jason :研究生时候用的专业的石油物探软件,里面有克里金法,万恶的开始。 pykrig...

FOREST优快云 5611

LVGL 实战:虚拟列表与对象复用机制在嵌入式GUI中的性能优化

本文深入探讨LVGL虚拟列表与对象复用机制在嵌入式GUI中的性能优化实践。通过复用机制动态管理UI对象,大幅降低内存占用,实现无限滚动列表的流畅体验。文章详细解析核心算法、内存优化策略及跨平台适配技巧,帮助开发者在资源受限设备上高效处理大量数据展示。

rice5的博客 1106

增强for循环

注意: ​ 增强for循环底层是一个迭代器,所以在使用增强for循环遍历的时候,不能对集合的长度进行修改,否则会抛出并发修改异常 package com.itheima.demo03forEach; import java.util.ArrayList; /* 增强for循环:使用for循环的格式封装了迭代器,简化迭代器遍历的代码 格式: for(元素的数据类型 变量名 : 集合名|数组名){ sout(变量名); } */ p

weixin_44784393的博客 710

得物APP破解

本文介绍了得物App(版本4.74.5)的逆向破解过程,重点分析了绕过强制更新、抓包技巧以及破解newSign参数的详细方法。首先通过断网再联网的方式绕过强制更新,然后使用SocksDroid进行抓包分析,发现首页推荐接口需要newSign参数。通过反编译定位到RequestUtils.c方法,利用Frida进行Hook验证,最终解析出newSign的生成逻辑:将请求参数加入固定字段后排序拼接,再进行MD5加密生成签名。文中提供了完整的Hook脚本和签名算法分析,仅供学习移动安全技术参考。

m0_74653634的博客 3487

【java基础:ArrayList】用增强for循环遍历集合

创建一个长度可变的集合ArrayList,泛型指定类型为String;集合添加“迪丽热巴”、“张靓颖”、“赵丽颖”;用增强for循环遍历集合;

xjj1128的博客 1386

DDS信号发生器设计避坑指南:从AD9834配置到巴特沃斯滤波实战

本文详细解析了基于AD9834芯片的DDS信号发生器设计中的关键技术要点与常见陷阱,涵盖时钟源选择、寄存器配置时序、巴特沃斯滤波器设计等核心内容。针对中高频段信号质量优化,提供了实用的解决方案和代码示例,帮助工程师规避设计误区,提升信号发生器的性能和稳定性。

2y3u4i5o6p的博客 781

商品评论中的实体情感分析

在之前的文章中我已经将商品评论中的评价实体,也就是特征(feature)给挖掘出来了,我看了一下,挖掘的效果还是不错的。原文链接:http://blog.youkuaiyun.com/chixujohnny/article/details/52794685 下面一步要做的是施加情感因子,也就是说,要将人们评论时候所连带的感情程度施加一下。这项任务的归类应该是情感分析技术。 目前该类问题的情感分析技

chixujohnny 7971

Java中集合使用增强for循环进行遍历抛出ConcurrentModificationException

在ArrayList底层原理中,介绍了:使用集合的迭代器类对集合进行迭代时,迭代器会记录下当前modCount(每当调用add等方法时,modCount会+1)的值,在通过迭代器遍历集合容器的过程中(使用迭代器的next、previous、set、remove、add方法),会一直判断modCount与一开始记录的值是否相同,若不同则抛出ConcurrentModificationExceptio...

奋进的小白粥 1230

clock min pulse width检查

高电平脉宽 = clock fall edge到达FF/CK的时间 - clock rise edge到达FF/CK的时间;低电平脉宽 = 下一T clock rise edge到达FF/CK的时间 - clock fall edge到达FF/CK的时间。而required pulse width是根据FF/CK处的transition,根据查找表计算得到的。为什么clock transition越大,会导致required pulse width越大呢?5、 降低clock上的串扰。

芯冰乐 577

java集合for循环_java中集合的遍历与增强for循环的使用

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。许多情况需要我们遍历出集合中的元素,并做相应的处理。下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法。如果只做简单遍历读取...

weixin_29072299的博客 249

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java关于集合的遍历与增强for循环的使用<Reprinted>

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。 许多情况需要我们遍历出集合中的元素,并做相应的处理。 下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Ite...

a1751326的博客 191

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java关于集合的遍历与增强for循环(foreach)的使用

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。 许多情况需要我们遍历出集合中的元素,并做相应的处理。 下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iter...

aofanto13046的博客 124

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java中集合的遍历与增强for循环的使用

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。 许多情况需要我们遍历出集合中的元素,并做相应的处理。 下面对各种类型的集合的遍历做一些总结,关于增强for循环...

乐在克里特的博客 113

java关于集合(list,set,map)的遍历与增强for循环的使用

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。      许多情况需要我们遍历出集合中的元素,并做相应的处理。      下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterat

zygzzp的专栏 2997

Java关于集合(list,set,map)的遍历与增强for循环的使用

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。      许多情况需要我们遍历出集合中的元素,并做相应的处理。      下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterat

blacklife150614的博客 6963

foreach遍历二维数组java_java关于集合的遍历与增强for循环(foreach)的使用

1 //增强For循环2 public class MapTest {34 public static void main(String[] args) {5 // 创建一个HashMap对象,并加入了一些键值对。6 Map maps = new HashMap();7 maps.put("111", "java111");8 ...

weixin_28985877的博客 218
上一篇: xml文件的jdom解析
下一篇: java集合类精点总结
Sweeter
博客等级 码龄14年 81粉丝 41原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值