2013-03-04 4 views
-1

У меня есть связанный список с именем CalendarLinkedList, которые члены данных определяются все пользовательские,Как сохранить связанный список (двойной связанный список?) В файл?

GregorianCalendar date; 
Monetary savings; 
Monetary loss; 
Memo memo; 
Debt debt; 
int counter; 

CalendarLinkedList next; 
CalendarLinkedList previous; 

Денежные объекты состоят из двойного и струнного массива

double value; 
String[] type; 

public Monetary() 
{ 
    setValue(0); 
    type = new String [50]; 
} 

Memo состоит только из строки

String writing; 

    public Memo() 
    { 
     writing = ""; 
    } 

Долг - это расширение денежного средства с еще одним двойным значением и двумя григорианскими календарями.

Есть ли в любом случае, что я могу сохранить это в текстовом файле? Будет лучше, если вы, ребята, скажите, как загрузить его из текстового файла после сохранения.

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

+0

Вам действительно нужны текстовые файлы, или он может быть двоичным? – Gorbag

+0

Текстовые файлы необходимы – user2132905

+0

Вам нужно предоставить каждому элементу уникальный идентификатор, потому что не существует хорошего способа сериализации ссылок Java. Таким образом, следующая ссылка на элемент может быть указана в следующем элементе. Помимо этого, используйте XML? –

ответ

0

Если вам нужно использовать текстовые файлы, то я бы предложил найти какую-то схему для соответствия строк атрибутам и из этой схемы перестроить связанный список по мере их чтения для файла. Как схема, посмотрите на этот маленький пример. Представьте, что вы только хотели сохранить список монетарных. Что вы могли бы сделать, для каждого элемента в списке, вы бы сэкономить, в каждой строке:

  1. Значение переменной «значение»
  2. Длина массива строк (скажем, п строки)
  3. п строки

Теперь, при чтении файла, вы во-первых, создать пустой валютный пункт, и вы бы прочитать первую строку текстового файла, чтобы заполнить «значение». Затем вы должны прочитать значение n, и это укажет вам, сколько строк вам еще нужно прочитать для заполнения массива строк. Вы будете выполнять эту процедуру, пока не найдете EOF.

Теперь, что я сказал, применяется только в случае сохранения экземпляра денежной единицы. Для связанного списка вы бы сделали то же самое, но для большего количества объектов. Я был достаточно ясен?

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