美文网首页
Map.Entry java

Map.Entry java

作者: 可可西里的星星 | 来源:发表于2019-05-26 22:24 被阅读0次

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

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

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

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

常用的遍历Map的方法
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");

//第一种:普遍使用,由于二次取值,效率会比第二种和第三种慢一倍
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}

//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}

//第三种:无法在for循环时实现remove等操作
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}

//第四种:只能获取values,不能获取key
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}

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

相关文章

  • java day 14

    Map java Map及Map.Entry详解Map是java中的接口,Map.Entry是Map的一个内部接口...

  • Map.Entry java

    Map.Entry的定义Map的entrySet()方法返回一个实现Map.Entry接口的对象集合。集合中每个对...

  • Map和Map.entry

    Map是java中的接口,Map.Entry是Map的一个内部接口。 Map提供了一些常用方法,如keySet()...

  • Map.Entry使用详解

    1.Map.Entry说明 Map是java中的接口,Map.Entry是Map的一个内部接口。 Map提供了一些...

  • Java Map

    Map myM = new HashMap();for (Map.Entry entry:myM.entrySet...

  • 循环

    Map的循环 for(Map.Entry entry : map.entrySet() ){/...

  • 5.java 集合醉醉念

    通过Map.entrySet遍历key和value for (Map.Entry entry : map.ent...

  • Map.Entry的用处

    java.util.Map.Entry是作为Map的一个内部接口用于遍历Map。Map提供了一些常用方法,如key...

  • 【Java Collections】Map-HashMap 源码

    HashMap 内的主要数据结构 内部类 Node(实现了Map.entry接口,存储key-value...

  • Java·HashMap

    hashmap类 存储结构 元素:有一个静态内部类,叫Node,实现了Map.Entry接口 hashmap字段:...

网友评论

      本文标题:Map.Entry java

      本文链接:https://www.haomeiwen.com/subject/mokqtctx.html