Постоянные коллекции на Яве
Согласно моему заданию, в котором предлагается разработать небольшую систему управления размещением студентов:
Приложение должно быть разработано с использованием объектно-ориентированных концепций с использованием класса Student и класса Apartment, реализуя соответствующие поля данных и методы для классов. Данные могут храниться в коллекциях, т.е. массиве объектов, векторов и т. Д., Или в файлах данных, кроме базы данных.
До сих пор я работал с сетами. Я не уверен, что это правильно, но я добавил HashSets к своим классам. Пример:
public static Set<Apartment> listOfApartments = new HashSet<Apartment>();
// in Apartment Class)
Теперь, когда я только что понял, мне действительно нужны постоянные коллекции или некоторые решения для постоянного хранения данных.
Какие-либо предложения?
2 ответа
Если бы я находился там, где вы, я бы использовал что-то вроде ArrayList для хранения данных, особенно студентов. Наборы не допускают дублирования данных, поэтому это может вызвать проблемы в будущем.
Что касается сохранения ваших данных, вы должны взглянуть на ObjectOutputStream для хранения ваших объектов и на ObjectInputStream для загрузки их обратно в ваше приложение. Вы можете посмотреть здесь учебник ObjectStreams.
Однако я бы порекомендовал использовать что-то вроде XStream (вы можете увидеть, как это использовать здесь). Это позволит вашему приложению хранить данные в удобочитаемом виде (что полезно для отладки), а также позволит читать ваши данные на разных языках программирования.
Если Appartment
является Serializable
, затем Set<Apartment>
это также Serializable
и не требует дополнительной работы, чтобы сохранить ее с помощью классов java.io
Чтобы сделать класс Serializable, вы должны:
- заставить его реализовать интерфейс java.io.Serializable
- добавить конструктор по умолчанию
Это так просто