Где лучше создать карту в Java? - PullRequest
1 голос
/ 07 марта 2012

Код:

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(.....);

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

}

Являются ли эти 2 способа создания карты одинаковыми по эффективности и функциональности?

Ответы [ 3 ]

4 голосов
/ 07 марта 2012

Нет, они разные функционально.В первом случае каждый раз, когда метод methodFillMap вызывается, создается новая карта, и вы теряете информацию из старой карты, тогда как во втором случае объект будет сохраняться с информацией.

1 голос
/ 07 марта 2012

«Штраф времени» за создание объекта (карты), вероятно, будет одинаковым в обоих случаях. Вопрос в том, хотите ли вы, чтобы инстанцирование было более быстрым или вызывалось methodFillMap?

0 голосов
/ 07 марта 2012

Я считаю, что лучший способ - это первый способ, при котором вы создаете новый экземпляр карты только тогда, когда он вам действительно нужен, поэтому в случае, если вы никогда не вызовете метод "methodFillMap", у вас не будет экземпляра неиспользуемого объекта.в памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...