Постоянные коллекции на Яве

Согласно моему заданию, в котором предлагается разработать небольшую систему управления размещением студентов:

Приложение должно быть разработано с использованием объектно-ориентированных концепций с использованием класса 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, вы должны:

  1. заставить его реализовать интерфейс java.io.Serializable
  2. добавить конструктор по умолчанию

Это так просто

Другие вопросы по тегам