【Java集合知識點整理】(持續更新)
阿新 • • 發佈:2019-02-14
package map; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; import java.util.Set; /** * @author Administrator *注意:HashMap不支援Iterator所以要通過其他方式迭代Map中的Key和Value */ public class EntrySetDemo { public static void main(String[] args) { HashMap<String,String> hs=new HashMap<String,String>(); //新增元素 hs.put("key1", "value1"); hs.put("key2", "value2"); hs.put("key3", "value3"); hs.put("key4", "value4"); hs.put("key5", "value5"); /** * 獲取hs返回的Set檢視 * 非常注意:返回此對映中包含的對映關係的Set檢視,對此Set檢視的操作會反映到原來的HashMap */ Set<Entry<String,String>> set=hs.entrySet(); /** * 對Set進行迭代,返回的Entry包含key和value,格式為:key=value */ Iterator<Entry<String,String>> iter=set.iterator(); //這種做法輸出的格式為key=value // while(iter.hasNext()){ // System.out.println(iter.next()); // } //對entry進行迭代 while(iter.hasNext()){ Entry<String,String> entry=iter.next();//得到一個entry物件 entry.setValue("123");//將當前迭代的Entry的value替換為123 String key=entry.getKey();//獲取當前迭代的entry物件(返回的Set檢視中的Entry)的key String value=entry.getValue();//獲取當前迭代Entry物件的value System.out.println(key+"="+value); entry.setValue("1");//在此替換當前迭代物件的Value,將對映到HashMap<String,String> } System.out.println("==========================="); //對Set檢視的編輯會反應到Entry for(Entry<String,String> entry:set){ //每個Entry就是map中的一個key及其它對應的value被重新封裝的物件 for(String key:hs.keySet()){ System.out.println(key+"="+hs.get(key)); } } } }