2012-04-25 2 views
0

По моему поручению, которое просит разработать мелкосерийное систему управления Размещение студентов:Постоянные коллекции в Java

Заявка должна быть разработана с использованием объектно-ориентированных концепций, используя класс Student и апартаменты класса, реализуя соответствующие поля данных и методы для классов. Данные могут храниться в коллекциях, то есть в массиве объектов, векторов и т. Д. Или в файлах данных, кроме базы данных.

До сих пор я работал с наборами. Я не уверен, правильно ли это, но я добавил HashSets в свои классы. Пример:

public static Set<Apartment> listOfApartments = new HashSet<Apartment>(); 
// in Apartment Class) 

Теперь, когда я только понял, что мне действительно нужны постоянные коллекции или некоторые решения для фактического хранения данных на постоянной основе.

Любые предложения?

+0

Какой вид постоянного вы ищете? База данных или файл? – Rudy

+0

@Rudy: OP хочет сохранить это с помощью файловой системы. – npinti

+0

отмечено. Я видел вопрос до того, как отредактировал Олекси. Теперь это яснее. – Rudy

ответ

3

Если я где-то буду использовать что-то вроде ArrayList для хранения данных, особенно студентов. Наборы не позволяют дублировать данные, так что это может привести к проблемам по линии.

Что касается сохраняющихся данных, вы должны взглянуть на ObjectOutputStream, чтобы сохранить свои объекты и ObjectInputStream, чтобы загрузить их обратно в ваше приложение. Вы можете посмотреть here для учебника ObjectStreams.

Что я бы рекомендовал использовать, например, XStream (вы можете увидеть, как его использовать here). Это позволит вашему приложению хранить данные в удобном для пользователя виде (что полезно для отладки), а также позволяет считывать ваши данные на разных языках программирования.

+1

+1 XStream затем сохраните файл с помощью BufferedWriter ... и прочитайте с помощью BufferedReader. – Rudy

+0

+1 Файл XML кажется наиболее подходящим здесь –

0

Если Appartment является Serializable, то Set<Apartment> также Serializable и doens требуют каких-либо дополнительных работ упорствовать его с помощью java.io классов

Чтобы сделать класс Serializable, вы должны:

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

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