Какую структуру данных вы бы использовали вместо X, чтобы иметь эффективные слияния, сортировки и добавления, как описано ниже?
# 1 Возможное решение: одна HashMap to X -datastructure
Хорошим решением может быть HashMap, указывающий от fileID
на некоторую структуру данных, связывающую word
, wordCount
и wordID
.Однако я не нашел способа его реализовать.
Мне не разрешено использовать Postgres или любой другой подобный инструмент для нейтрализации моих данных.Я хочу иметь эффективные слияния, сортировки и добавления в соответствии с fileID
, wordID
или wordCount
для типа ниже.
У меня есть тип Words
поле с полем fileID
, которое указывает на список слов и соответствующие фрагменты информации:
Тип
class Words
===================================
fileID: int
[list of words] : ArrayList
[list of wordCounts] : ArrayList
[list of wordIDs] : ArrayList
Примерданные в
fileID word wordCount wordID
instance1 of words
1 He 123 1111
1 llo 321 2
instance2 of words
2 Van 213 666
2 cou 777 932
Пример необходимого слияния
fileID wordID fileID wordID
1 2
1 3 wordID=2
2 2 ========> 1 2
2 3 2 2
Я не вижу использования операций над множествами, таких как пересечения здесь, потому что нужен порядок.
Наличие примерно трех HashMaps затрудняет сортировку:
- от
word
до wordID
в данном fileID
- от
wordID
до fileID
- от
wordID
до wordCount
в данном fileID