entrySet用法 以及遍歷map的用法


keySet是的集合,Set里面的類型及key的類型

entrySet是 鍵-值 對的集合,Set里面的類型是Map.Entry.

1.keySet()

Map map=new HashMap();

Iterator it=map.keySet().iterator();

Object key;

Object value;

while(it.hasNext()){

key=it.next();

value=map.get(key);

System.out.println(key+":"+value);

}

2.entrySet()

Map map=new HashMap();

Iterator it=map.entrySet().iterator();

Object key;

Object value;

while(it.hasNext()){

Map.Entry entry=(Map.Entry)it.next();

key=entry.getKey();

value=entry.getValue();

System.out.println(key+"="+value);

}

 

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
      Map<String,String> map=new HashMap<String,String>();
      map.put("1", "value1");
      map.put("2", "value2");
      map.put("3", "value3");
    //第一種:普遍使用,二次取值
      System.out.println("通過Map.keySet遍歷key和value");
      for(String key:map.keySet())
      {
          String value=map.get(key);
          System.out.println(key+":"+value);
      }
      System.out.println("-------------------------");
      //第二種:
      System.out.println("通過Map.entrySet使用iterator遍歷key和value");
      Iterator<Map.Entry<String,String>> it=map.entrySet().iterator();
      while(it.hasNext()) {
          Map.Entry<String, String> entry=it.next();
          String key=entry.getKey();
          String value=entry.getValue();
          System.out.println(key+":"+value);
      }
      //第三種:推薦,尤其是容量大時
      System.out.println("通過Map.entrySet遍歷key和value");
      for(Map.Entry<String, String> entry:map.entrySet()) {
          String key=entry.getKey();
          String value=entry.getValue();
          System.out.println(key+":"+value);
      }
      //第四種 
      System.out.println("通過map.values()遍歷所有的value,但不能遍歷key");
      for(String value:map.values()) {
          System.out.println("value="+value);
      }
    }

}

 

 

 

參照來源:https://blog.csdn.net/bestone0213/article/details/47904107


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM