我被地圖界面搞糊塗了。它必須對集合視圖使用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