JAVA问题:Map.Entry的一般用处是什么?

 我来答
塔駡德
高粉答主

推荐于2019-09-28 · 关注我不会让你失望
知道答主
回答量:46
采纳率:0%
帮助的人:1.5万
展开全部

用途:

1. Map map = new HashMap();

Irerator iterator = map.entrySet().iterator();

while(iterator.hasNext()) {

Map.Entry entry = iterator.next();

Object key = entry.getKey();

}

2.Map map = new HashMap();

Set keySet= map.keySet();

Irerator iterator = keySet.iterator;

while(iterator.hasNext()) {

Object key = iterator.next();

Object value = map.get(key);

}

Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。

扩展资料:

Map储存数据的方式,map储存数据的形式是一个key和一个value对应,即Map<String,String> map = new HashMap<String,String>(); 其储存的数据类型可以是任意的。

接下来我们简单的介绍一下它添加数据和遍历数据的方法:

map.put("key1", "value1");

map.put("key2", "value2");

map.put("key3", "value3");

普遍使用,二次取值

System.out.println("通过Map.keySet遍历key和value:");

for (String key : map.keySet()) {  //通过foreach方法来遍历

System.out.println("key= "+ key + " and value= " + map.get(key));
}

参考资料:java基础_百度百科

拾趣世界
高粉答主

推荐于2019-10-12 · 分享新鲜事,感谢关注
拾趣世界
采纳数:11 获赞数:86027

向TA提问 私信TA
展开全部
  1. Map.Entry的定义。Map的entrySet()方法返回一个实现Map.Entry接口的对象集合。集合中每个对象都是底层Map中一个特定的键/值对。通过这个集合的迭代器,获得每一个条目(唯一获取方式)的键或值并对值进行更改。Map.Entry中的常用方法如下所示:

(1) Object getKey(): 返回条目的关键字 

(2) Object getValue(): 返回条目的值

(3) Object setValue(Object value): 将相关映像中的值改为value,并且返回旧值

2.Map.Entry的作用。Map.Entry是为了更方便的输出map键值对。一般情况下,要输出Map中的key 和 value  是先得到key的集合keySet(),然后再迭代(循环)由每个key得到每个value。values()方法是获取集合中的所有值,不包含键,没有对应关系。而Entry可以一次性获得这两个值。

3.常用的遍历Map的方法(见下列代码图)

4.Map.entrySet迭代器会生成EntryIterator,其返回的实例是一个包含key/value键值对的对象。而keySet中迭代器返回的只是key对象,还需要到map中二次取值。故entrySet要比keySet快一倍左右。

拓展资料:

  1. Map集合没有继承Collection接口,其提供的是key到value的映射,Map中不能包含相同的key值,每个key只能影射一个相同的value.key值还决定了存储对象在映射中的存储位置.

2.但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置.Map集合包括Map接口以及Map接口所实现的类.

3.Map集合没有继承Collection接口,其提供的是key到value的映射,Map中不能包含相同的key值,每个key只能影射一个相同的value.key值还决定了存储对象在映射中的存储位置.

4.但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置.Map集合包括Map接口以及Map接口所实现的类.


参考资料:Map.Entry详解


本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
推荐于2019-08-05 · TA获得超过25.9万个赞
知道小有建树答主
回答量:2206
采纳率:96%
帮助的人:80.3万
展开全部

Map是java中的接口,Map.Entry是Map的一个内部接口。

Map提供了一些常用方法,如keySet()、entrySet()等方法。

keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。

Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。

例子代码如下:

扩展资料:

java.util 中的集合类包含 Java 中某些最常用的类,最常用的集合类是 List 和 Map。

List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。

Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。 从概念上而言,您可以将 List 看作是具有数值键的 Map。 而实际上,除了 List 和 Map 都在定义 java.util 中外,两者并没有直接的联系。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2018-05-23 · TA获得超过82.9万个赞
知道大有可为答主
回答量:2602
采纳率:100%
帮助的人:171万
展开全部
是为了输出的方便
一般情况下,要输出Map中的key 和 value 是先得到key的集合,然后再迭代(循环)由每个key得到每个value
而Entry可以一次性获得这两个值,找个我做过的例子
--------------------------------------------------------------------------
Set set = map.keySet(); //keySet()

for(Iterator iter = set.iterator();iter.hasNext();)
{
String key = (String)iter.next(); //先获得键key
Integer value = (Integer)map.get(key); //再由键获得value

System.out.println(key + "=" + value);
}

--------------------------------------------------------------------------
Set set = map.entrySet(); //entrySet()

for(Iterator iter = set.iterator();iter.hasNext();)
{
Map.Entry entry = (Map.Entry)iter.next();
String key = (String)entry.getKey(); //一次性获得键和值 key和value
String value = (String)entry.getValue();

System.out.println(key + ": " + value);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
跃哥慢
推荐于2017-11-25 · TA获得超过150个赞
知道答主
回答量:9
采纳率:0%
帮助的人:9万
展开全部
是为了输出的方便
一般情况下,要输出Map中的key 和 value 是先得到key的集合,然后再迭代(循环)由每个key得到每个value
而Entry可以一次性获得这两个值,找个我做过的例子
--------------------------------------------------------------------------
Set set = map.keySet(); //keySet()

for(Iterator iter = set.iterator();iter.hasNext();)
{
String key = (String)iter.next(); //先获得键key
Integer value = (Integer)map.get(key); //再由键获得value

System.out.println(key + "=" + value);
}

--------------------------------------------------------------------------
Set set = map.entrySet(); //entrySet()

for(Iterator iter = set.iterator();iter.hasNext();)
{
Map.Entry entry = (Map.Entry)iter.next();
String key = (String)entry.getKey(); //一次性获得键和值 key和value
String value = (String)entry.getValue();

System.out.println(key + ": " + value);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式