Java中map的entrySet()方法返回的是什么内容啊?有点晕
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class TestEntrySet {
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
map.put("name", "zhangsan");
map.put("gender", "man");
Set<Map.Entry<String,String>> entry = map.entrySet();
for(Map.Entry<String,String> entry_elem:entry){
System.out.println(entry_elem.getKey().toString()+":"+entry_elem.getValue().toString());
}
}
}
在网上看到对map中的元素利用增强for循环进行遍历,map的entrySet()方法返回的是什么内容呢?entrySet()返回的还是键值对吗??
为什么Set类需要用<Map.Entry<String,String>>这个泛型来说明呢?查看Map类的API文档,Map类里有一个Entry接口,这里的Entry<String,String>是Map类的这个接口吗?看的有点晕啊 展开
package MyTest;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class TestEntrySet {
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
map.put("name", "zhangsan");
map.put("gender", "man");
Set<Map.Entry<String,String>> entry = map.entrySet();
for(Map.Entry<String,String> entry_elem:entry){
System.out.println(entry_elem.getKey().toString()+":"+entry_elem.getValue().toString());
}
}
}
简单的理解,就是Entry.set是获得一个set集合,并且泛型是Map.Entry的对象结果集,这样你就可以通过Set集合来进行遍历,是一种Map功能的增强。使用这种方式你可以在不知道key的情况下遍历Map对象。
具体如下:
1、简介
编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
2、汇编程序
汇编程序。使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。
3、执行原理
计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。这种将高级编程硬件程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。
通过EntrySet()也是获取的map里面的键值对信息,将map里面的键值对信息存在到Set集合里面,是这样的吗?
不是你要按照对象的思维去理解,你要理解成是把一些包含了Map键值对的对象保存到了set中,不要被EntrySet迷惑,List 是对象,Map 也是对象,只是对象对数据的操作形式和表现形式不同而已。