2015-03-07 6 views
0

У меня есть следующая информация в текстовом файле.Соответствующая структура данных для чтения этого файла

Пункт Оценить карандаш 2 ластик 1 лазера 3 карандаш 1 факела 4 ластика 1

В частности, я хотел бы знать, если какой-либо пункт в приведенном выше списке имеет другую цену. Например: В приведенном выше примере вы можете видеть, что карандаш имеет 2 скорости, т.е. 2 и 1. Цена ластика одинакова в обеих строках, поэтому проблем нет. Дополнительные сложности. Текстовый файл очень большой.

Так как dicts не позволяют хранить дубликаты ключей, предложите способы решения этой проблемы вместе с соответствующей структурой данных.

ответ

0

вы можете использовать хэш-таблицу с отдельным Chaining Method.Hope он работает

0

Имеет ли файл быть простой текст? Я рекомендую решить эту проблему с использованием формата XML и разбора его с помощью SAX (а не DOM!). SAX не загрузит весь файл в память, поэтому он отлично работает с огромными размерами файлов.

Что касается структуры данных, вы всегда можете определить свой собственный или вы могли бы просто использовать что-то вроде этого Map<KeyType, List<ValueType>>. Я считаю, что контр-интуитивно понятно, чтобы разные цены отображались для одного и того же названия продукта. Вы можете создать уникальный идентификатор для каждого типа продукта и создать новое поле: количество.

Смежные вопросы