Как превратить список в уникальный список?

Аналогичное решение для @gcedo , но без необходимости добавления промежуточного содержимого, чтобы подтолкнуть нижний колонтитул. Мы можем просто добавить margin-top:auto в нижний колонтитул, и он будет сдвинут в нижней части страницы независимо от его высоты или высоты содержимого выше.

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin:0;
}

.content {
  padding: 50px;
  background: red;
}

.footer {
  margin-top: auto;
  padding:10px;
  background: green;
}
some content here
some content

2
задан Anirudh Lou 19 March 2019 в 10:13
поделиться

2 ответа

Каждый раз, когда вы получаете новый объект ParentClass, именно поэтому, когда бы вы ни проверяли, присутствует ли этот объект в списке или нет, он всегда говорит, что его нет, потому что он сравнивается со ссылкой на объект.

для поддержания уникального списка объектов либо переопределите метод equels(), либо просто используйте Map<ParentClass Id, ParentClass object>, а затем просто получите метод map.values().

0
ответ дан Devratna 19 March 2019 в 10:13
поделиться

Вместо списка, возможно, вы могли бы управлять Map<ParentClass, Set<ChildClass>>?

Ключом вашей карты был бы родительский класс, а значением был бы набор его дочерних элементов.

Таким образом, вы будете перебирать все дочерние элементы, и для каждого из них вы просто будете вызывать что-то вроде map.get(parent).add(child);. Очевидно, до этого вы убедитесь, что если карта еще не содержит этого родительского элемента, вы инициализируете его набор дочерних пустой набор:

if (!map.containsKey(parent)) {
   map.put(parent, new HashSet());
}

В конце вы можете выполнить итерацию по карте и отобразить размер каждого набора значений для каждого ключа ...

HTH!

0
ответ дан Highbrainer 19 March 2019 в 10:13
поделиться
Другие вопросы по тегам:

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