我被地图界面搞糊涂了。它必须对集合视图使用entrySet()
方法(或使用迭代器)。 entrySet()
返回一个包含其地图元素的Set。同样,这些Set元素中的每一个都是一个Map.Entry
对象。这怎么可能?由于Set只包含一个字段,而Map.Entry
是一个关键值对吗?你能简单地用例子& flow来解释一下。如何设置Map.entrySet()的值
-1
A
回答
2
A Set
包含某些参考类型的元素。 Map.Entry
是参考类型,可用作Set
的元素。
0
想象一下,您拥有包含键和值的数据结构。一个值的一个键,一个键的一个值。
Map<K,V>
是这个数据结构的接口。它允许通过密钥获得价值。
Set<Map.Entry<K,V>>
是一个用于相同数据结构的接口。它允许获取所有的键值对。
0
根据Orcale文档:Map的entrySet()返回map中包含的映射的Set视图。该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 Map.entrySet方法返回地图的集合视图,其元素属于这个类。获取对地图条目的引用的唯一方法是从该集合视图的迭代器中获取。这些Map.Entry对象仅在迭代期间有效;更正式地说,如果在迭代器返回条目后修改了支持映射,则映射条目的行为是未定义的。 按照为了进一步解释,下面的代码片段: -
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class MapEntry {
public static void main(String... q){
Map<String,Integer> mapObj = new HashMap<String,Integer>();
mapObj.put("1", new Integer(1));
mapObj.put("2", new Integer(2));
mapObj.put("3", new Integer(3));
mapObj.put("4", new Integer(4));
// First Approach
Set outMap = mapObj.entrySet();
for(Map.Entry<String,Integer> tempMap : mapObj.entrySet()){
System.out.println("KEY : "+tempMap.getKey());
System.out.println("VALUE : "+tempMap.getValue());
}
// Second Approach
for(Iterator it = mapObj.entrySet().iterator(); it.hasNext();){
Map.Entry me = (Map.Entry)it.next();
System.out.println("2nd Approach - Key : "+me.getKey());
System.out.println("2nd Approach - Value : "+me.getValue());
}
}
}
希望这有助于。
相关问题
- 1. 如何Map.entrySet()遍历一个HashMap
- 2. 如何设置的值
- 3. 如何设置CvPoint的值
- 4. 如何设置PreparedStatement的值?
- 5. 如何设置open_basedir的值?
- 6. 如何设置DateTextBox的值?
- 7. 如何设置Gtk.ComboBox的值?
- 8. 如何设置SPFieldDateTime的值?
- 9. 如何避免ConcurrentModificationException的同时遍历map.entrySet
- 10. 如何设置饼图值%
- 11. 如何设置值kCFCalendarUnitWeekday
- 12. 如何设置div值
- 13. C#PropertyBuilder:如何设置值?
- 14. KeyPairValue Linq如何设置值
- 15. 如何设置imagepicker.tag =值imagepicker
- 16. 如何设置java DayOfWeek值?
- 17. Doctrine2如何设置Id值
- 18. 如何设置值符号
- 19. 如何设置会话值
- 20. 如何设置Cocoa NSLevelIndicatorCell值?
- 21. 如何设置值在HTML
- 22. 设置如何XAttribute NULL值
- 23. 如何设置属性值
- 24. 如何设置默认值
- 25. 如何设置默认值?
- 26. NumericUpDown如何设置值
- 27. 如何设置GridItem值?
- 28. 如何设置errno值?
- 29. 如何设置值NLog.config
- 30. 如何设置DatagridView值
此“集合”包含地图的键值对。一个'Map.Entry'具有与该值一样多的关键字。 – 2015-02-24 07:03:49