求助:为什么范围for循环不能输出形参数组作形参

4815人阅读
java(24)
map的两种传统输出方式:
package com.java.
import java.util.HashM
import java.util.I
import java.util.M
import java.util.S
import java.util.Map.E
public class TestMap {
public static void main(String[] args) {
//两种方法实现map的输出
Map map = new HashMap();
map.put(1,&yyyy&);
map.put(2, &oooo&);
map.put(3, &uuuu&);
map.put(4, &jjjj&);
//第一种方法
Set set = map.keySet();
Iterator ite = set.iterator();
while(ite.hasNext()) {
Integer key = (Integer)ite.next();
String value = (String)map.get(key);
System.out.println(key + &=& + value);
//第二种方法
Set set1 = map.entrySet();
Iterator it = set1.iterator();
while(it.hasNext()) {
Entry entry = (Entry) it.next();
Integer key = (Integer) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key + &=& + value);
输出结果为:
因为增强for循环只能用在数组和实现Iterator接口的集合类中,Map须经转换后使用,如下:
package com.java.
import java.util.HashM
import java.util.M
import java.util.S
import java.util.Map.E
public class TestMap1 {
public static void main(String[] args) {
Map map = new HashMap();
map.put(1,&yyyy&);
map.put(2, &oooo&);
map.put(3, &uuuu&);
map.put(4, &jjjj&);
//第一种方式使用增强for循环
for(Object obj : map.keySet()) {
Integer key = (Integer)
String value = (String)map.get(key);
System.out.println(key + &=& + value);
//第二种方式使用增强for循环
for(Object obj:map.entrySet()) {
Entry entry = (Entry)
Integer key = (Integer) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key + &=& + value);
注意:增强for循环只能用做数据的输出,不能实现数据的更改。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:420960次
积分:2902
积分:2902
排名:第10966名
原创:62篇
评论:49条
(1)(3)(1)(7)(6)(2)(2)(18)(12)(10)扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
C语言for循环语句中a[i][j]和a[j][i]执行过程中有什么区别?以下是求一个5*5数组行,列和程序的一部分,为什么知识中括号的字母变了下顺序输出的内容就变了?
尛佐佐02a1
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
你这样读就知道了:第一个a[0][0],a[0][1]...第二个a[0][0],a[1][0]...内循环结束后外循环值才变动
可是他两次的内循环和外循环都一样呀,内循环不是j?外循环不是i?
如果你不会读的话就断点跟踪I J的值,跟踪次数多了也就学会读了,以后就直接读代码就能发现问题.
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 形参数组 的文章

 

随机推荐