У меня есть следующие объекты данных:Какой тип списка/карты следует использовать для категоризации данных, но с сохранением порядка?
MyObject {
priority (e.g. HIGH, LOW, ...)
information
}
Мне нужно, чтобы сохранить их в правильном порядке итерации над ним, если это необходимо.
Мне также нужно получать только данные с приоритетом HIGH или LOW иногда (также в правильном порядке).
Если я использую Список (например, ArrayList), мне придется перебирать каждый объект данных для поиска моих приоритетов.
Если я использую Map<Priority, List<Information>>
, я бы потерял заказ между информацией в двух разных приоритетах.
Пример входных данных:
- LOW, "hello1"
- HIGH, "hello2"
- LOW, "World3"
- HIGH, "World4"
Желаемая результаты:
printData() -> Hello1, Hello2, World3, World4
printLow() -> Hello1, World3
printHigh() -> Hello2, World4
Какая структура данных будет соответствовать моим требованиям в лучшем случае? (Java)
Использовать 'LinkedHashMap' –
Не могли бы вы показать мне пример того, как реализовать? Должен ли я иметь LinkedHashMap <Приоритет, MyObject> или что вы рекомендуете? – Frame91
У вас может быть LinkedHashMap <Приоритет, ArrayList> –