遍历Map
public static void main(String[] args) { Mapmap = new HashMap (); 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> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); }
//第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value"); for (Map.Entryentry : 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); } }
当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及。
循环内不要不断创建对象引用
for (int i = 1; i <= count; i++) { Object obj = new Object(); }
这种做法会导致内存中有count份Object对象引用存在,count很大的话,就耗费内存了,建议为改为:
Object obj = null;for (int i = 0; i <= count; i++) { obj = new Object(); }