哪里更好地在java中创建Map?

时间:2012-03-07 07:30:24

标签: java map

代码:

public class MyClass {
 private Map<Integer,String> myMap;
 ...........................


 void methodFillMap(){
    myMap=new HashMap<Integer, String>();

  .....................
  }
}

或者更好:

public class MyClass {
 private Map<Integer,String> myMap=new HashMap<Integer, String>();
 ...........................


 void methodFillMap(){
    myMap.put(.....);

  .....................
  }

}

这两种创建地图的方式是否与效率和功能相同?

3 个答案:

答案 0 :(得分:4)

不,它们在功能上有所不同。在第一种情况下,每次调用方法methodFillMap时,都会创建一个新映射,并且您将丢失旧映射中的信息,而在第二种情况下,该对象将保留信息。

答案 1 :(得分:1)

在两种情况下,创建对象(地图)的“时间惩罚”可能都相同。问题是 - 您希望实例化更快,还是要将cal设置为methodFillMap

答案 2 :(得分:0)

我认为最好的方法是第一种,这样你只需要在你真正需要的时候创建一个新的地图实例,所以万一你永远不会调用方法“methodFillMap”你就不会有一个未使用对象的实例在记忆中。