天天看点

Java遍历Map和遍历Set

Java遍历Map和遍历Set

Java遍历Map

public static void main(String[] args) {
		
		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()) {
			   System.out.println("key= "+ key + " and value= " + map.get(key));
		}
		
	 //第二种
	  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();
	   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
	  }
	  
	//第三种:推荐,尤其是容量大时
	  System.out.println("通过Map.entrySet遍历key和value");
	  for (Map.Entry<String, String> entry : map.entrySet()) {
	   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
	  }
	  
	  //第四种
	  System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
	  for (String v : map.values()) {
	   System.out.println("value= " + v);
	  }
	  
	}
           

Java遍历Set

对 set 的遍历   1.迭代遍历:   Set<String> set = new HashSet<String>();   Iterator<String> it = set.iterator();   while (it.hasNext()) {     String str = it.next();     System.out.println(str);   }      2.for循环遍历:   for (String str : set) {         System.out.println(str);   }         优点还体现在泛型 假如 set中存放的是Object      Set<Object> set = new HashSet<Object>();   for循环遍历:   for (Object obj: set) {         if(obj instanceof Integer){                   int aa= (Integer)obj;                }else if(obj instanceof String){                  String aa = (String)obj                }                 ........   }