我被地圖界面搞糊塗了。它必須對集合視圖使用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. 如何設置SPFieldDateTime的值?
- 2. 如何設置Gtk.ComboBox的值?
- 3. 如何避免ConcurrentModificationException的同時遍歷map.entrySet
- 4. 如何設置java DayOfWeek值?
- 5. 如何設置errno值?
- 6. 如何設置值符號
- 7. 如何設置所選值
- 8. 我如何設置plist值
- 9. 設置如何XAttribute NULL值
- 10. 如何設置div值
- 11. 如何設置值NLog.config
- 12. 如何設置cookie值?
- 13. C#PropertyBuilder:如何設置值?
- 14. 如何設置默認值?
- 15. Doctrine2如何設置Id值
- 16. 如何設置屬性值
- 17. 如何設置值kCFCalendarUnitWeekday
- 18. 如何設置設計者設置值的順序?
- 19. 如何在取消設置數組值後設置鍵值?
- 20. 如何爲dll庫設置配置值
- 21. 如何設置DataGridView的EditingControl的值
- 22. Django - 我如何設置數據庫設置文件中的值?
- 23. 如何設置上一行的列值?
- 24. 如何設置序列中的值?
- 25. 如何設置表單域的值
- 26. 如何設置表單元素的值
- 27. 如何設置extjs中的值3.2
- 28. 如何設置另一個類的值
- 29. 如何設置默認值的MySQL
- 30. 如何從線程設置ToolStripProgressBar的值?
此「集合」包含地圖的鍵值對。一個'Map.Entry'具有與該值一樣多的關鍵字。 – 2015-02-24 07:03:49