Java笔记——java.util.Map.Entry
来源:互联网 发布:淘宝上的原厂汽车配件 编辑:程序博客网 时间:2024/05/30 19:32
Map.Entry 是Map声明的内部接口
public interface Map<K,V> {省略n行。。。interface Entry<K,V> { /** * Returns the key corresponding to this entry. * * @return the key corresponding to this entry * @throws IllegalStateException implementations may, but are not * required to, throw this exception if the entry has been * removed from the backing map. */ K getKey(); /** * Returns the value corresponding to this entry. If the mapping * has been removed from the backing map (by the iterator's * <tt>remove</tt> operation), the results of this call are undefined. * * @return the value corresponding to this entry * @throws IllegalStateException implementations may, but are not * required to, throw this exception if the entry has been * removed from the backing map. */ V getValue(); /** * Replaces the value corresponding to this entry with the specified * value (optional operation). (Writes through to the map.) The * behavior of this call is undefined if the mapping has already been * removed from the map (by the iterator's <tt>remove</tt> operation). * * @param value new value to be stored in this entry * @return old value corresponding to the entry * @throws UnsupportedOperationException if the <tt>put</tt> operation * is not supported by the backing map * @throws ClassCastException if the class of the specified value * prevents it from being stored in the backing map * @throws NullPointerException if the backing map does not permit * null values, and the specified value is null * @throws IllegalArgumentException if some property of this value * prevents it from being stored in the backing map * @throws IllegalStateException implementations may, but are not * required to, throw this exception if the entry has been * removed from the backing map. */ V setValue(V value); /** * Compares the specified object with this entry for equality. * Returns <tt>true</tt> if the given object is also a map entry and * the two entries represent the same mapping. More formally, two * entries <tt>e1</tt> and <tt>e2</tt> represent the same mapping * if<pre> * (e1.getKey()==null ? * e2.getKey()==null : e1.getKey().equals(e2.getKey())) && * (e1.getValue()==null ? * e2.getValue()==null : e1.getValue().equals(e2.getValue())) * </pre> * This ensures that the <tt>equals</tt> method works properly across * different implementations of the <tt>Map.Entry</tt> interface. * * @param o object to be compared for equality with this map entry * @return <tt>true</tt> if the specified object is equal to this map * entry */ boolean equals(Object o); /** * Returns the hash code value for this map entry. The hash code * of a map entry <tt>e</tt> is defined to be: <pre> * (e.getKey()==null ? 0 : e.getKey().hashCode()) ^ * (e.getValue()==null ? 0 : e.getValue().hashCode()) * </pre> * This ensures that <tt>e1.equals(e2)</tt> implies that * <tt>e1.hashCode()==e2.hashCode()</tt> for any two Entries * <tt>e1</tt> and <tt>e2</tt>, as required by the general * contract of <tt>Object.hashCode</tt>. * * @return the hash code value for this map entry * @see Object#hashCode() * @see Object#equals(Object) * @see #equals(Object) */ int hashCode(); } 省略。。。}
如果不用Entry,我们获取Map总的信息的时候可以先获取key的信息,再根据Key值去找相应分value
public static void main(String[] args){ Map<String, String> mp = new HashMap<String, String>(); mp.put("A", "1"); mp.put("B", "2"); Set<String> set = mp.keySet(); if(set != null) { Iterator<String> iter = set.iterator(); while(iter.hasNext()) { String key = iter.next(); String value = mp.get(key); System.out.println(key); System.out.println(value); } }}
这样做可能会比较费时。我们可以用Entry先取出对应的key和value键值对,然后调用Entry中的getKey()和getValue()取出对应的key和value值
public static void main(String[] args){ Map<String, String> mp = new HashMap<String, String>(); mp.put("A", "1"); mp.put("B", "2"); Set<Entry<String, String>> entrySet = mp.entrySet(); if(entrySet != null) { Iterator<Entry<String, String>> iter = entrySet.iterator(); while(iter.hasNext()) { Entry<String, String> entry = iter.next(); System.out.println(entry.getKey()); System.out.println(entry.getValue()); } } }
当然,也可以写的更加简洁一点
public static void main(String[] args){ Map<String, String> mp = new HashMap<String, String>(); mp.put("A", "1"); mp.put("B", "2"); for(Entry<String,String> entry : mp.entrySet()) { System.out.println(entry.getKey()); System.out.println(entry.getValue()); }
0 0
- Java笔记——java.util.Map.Entry
- java.util.Map.Entry翻译
- 接口java.util.Map.Entry的使用
- 接口java.util.Map.Entry的使用
- 接口java.util.Map.Entry的使用
- 接口java.util.Map.Entry的使用
- 接口java.util.Map.Entry的使用
- 接口java.util.Map.Entry的使用
- java.util.LinkedHashMap.eldest()Ljava/util/Map$Entry 解决办法
- java Map Map.Entry
- The type java.util.Map$Entry cannot be resolved.
- JDK8 - The type java.util.Map$Entry cannot be resolved
- The type java.util.Map$Entry cannot be resolved.
- the type java.util.Map$Entry cannnot be resolved 解决办法
- The type java.util.Map$Entry cannot be resolved. 问题解决
- java.util.Map学习笔记
- java.util.Map学习笔记
- Java笔记4 JavaAPI<3>Map、Map-keySet、Map.entry
- scrollview嵌套listview 数据显示不全 问题处理方式集合
- windows获取pid进程路径
- 换一种坚持方式,could see
- iOS: TableView如何刷新指定的cell 或section
- [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
- Java笔记——java.util.Map.Entry
- 关于nodejs连接多个mongodb表
- rk3288_4.4SDK光感patch—CM3218
- 多线程代码编写
- CocoaPods更新遇redefinition问题及其它问题汇总
- echarts学习总结(一):jsp整体框架
- 分页处理 jquery ajax
- 判断浏览器是否为 IE11
- [Cryptography] Hash Password, Nonce