Лучший способ создать пустую карту в Java

Просто держите заголовок фиксированным и присвойте .main-content верхний отступ, равный высоте вашего заголовка, или даже немного выше для эстетики.

.main-header{
  grid-column: 1/2;
  grid-row: 1/3;
  /* Here i want this to be fixed (scrolling should not have any effect)*/
  position: fixed;
  top: 0;
  height: 80px;
}
.main-content {
  padding-top: 100px;
  width: 100%;
  float: left;
}
103
задан Jonik 17 October 2018 в 21:32
поделиться

6 ответов

1) , Если Карта может быть неизменной:

Collections.emptyMap()

// or, in some cases:
Collections.<String, String>emptyMap()

необходимо будет использовать последнего иногда, когда компилятор не может автоматически выяснить, какая Карта необходима (это называют вывод типа ). Например, считайте метод объявленным как это:

public void foobar(Map<String, String> map){ ... }

При передаче пустой Карты непосредственно ему, необходимо быть явными о типе:

foobar(Collections.emptyMap());                 // doesn't compile
foobar(Collections.<String, String>emptyMap()); // works fine

2) , Если необходимо быть в состоянии изменить Карту, тогда например:

new HashMap<String, String>()

(как [1 113] tehblanx указал )

<час>

Приложение : Если Ваш проект использует Гуава , у Вас есть следующие альтернативы:

1) Неизменная карта:

ImmutableMap.of()
// or:
ImmutableMap.<String, String>of()

Предоставленный, никакие большие преимущества здесь по сравнению с Collections.emptyMap(). От Javadoc:

Эта карта ведет себя и работает сравнительно к Collections.emptyMap() и предпочтительна главным образом для непротиворечивости и пригодности для обслуживания Вашего кода.

2) Карта, которую можно изменить:

Maps.newHashMap()
// or:
Maps.<String, String>newHashMap()

Maps содержит подобные методы фабрики для инстанцирования других типов карт также, такой как [1 117] TreeMap или LinkedHashMap .

<час>

Обновление (2018) : На [1 143] Java 9 или более новый, самый короткий код для создания неизменной пустой карты:

Map.of()

... использование нового методы фабрики удобства от [1 120] JEP 269. 😎

216
ответ дан Jonik 24 November 2019 в 04:16
поделиться
14
ответ дан TofuBeer 24 November 2019 в 04:16
поделиться
16
ответ дан Jon Skeet 24 November 2019 в 04:16
поделиться

При необходимости в экземпляре HashMap лучший способ:

fileParameters = new HashMap<String,String>();

, Так как Карта является интерфейсом, необходимо выбрать некоторый класс, который инстанцирует ее, если Вы хотите создать пустой экземпляр. HashMap кажется столь же хорошим, как любой другой - поэтому просто использует это.

9
ответ дан AndreiM 24 November 2019 в 04:16
поделиться

Или Collections.emptyMap(), или если вывод типа не работает в Вашем случае,
Collections.<String, String>emptyMap()

7
ответ дан Peter Štibraný 24 November 2019 в 04:16
поделиться
1
ответ дан OscarRyz 24 November 2019 в 04:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: