性能細節1

遍歷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");
}

 //第一種:廣泛使用,二次取值spa

  System.out.println("經過Map.keySet遍歷key和value:");
  for (String key : map.keySet()) {
   System.out.println("key= "+ key + " and value= " + map.get(key));
  }

//第二種code

  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);
  }
 }

當一我的找不到出路的時候,最好的辦法就是將當前能作好的事情作到極致,作到無人能及。get

循環內不要不斷建立對象引用

for (int i = 1; i <= count; i++) 
 
{ 
 
Object obj = new Object(); 
 
}

這種作法會致使內存中有count份Object對象引用存在,count很大的話,就耗費內存了,建議爲改成:it

Object obj = null;for (int i = 0; i <= count; i++) { obj = new Object(); }
相關文章
相關標籤/搜索