Хранение объектов в списках ссылок - PullRequest
1 голос
/ 06 декабря 2011

Меня попросили создать список ссылок и управлять им с нуля без использования утилиты java.

Если бы я создал объект, который имеет более одного атрибута, например name & age, можно ли будет сохранить объект в списке ссылок?

Я с трудом пытаюсь обдумать это и буду признателен за любую помощь!

Вот мой псевдокод:

Классы: Узел LLIST Человек Адрес

add_person
sout "Enter name"
scan.next(String name)
pass name to setName (a Person class function)
sout "Enter postcode"
scan.next(String postCode)
pass postCode to setPostCode (a Address class function)

Как мне тогда связать эти два бита информации вместе в одном списке ссылок?

Edit: Спасибо за вклад, ребята, я прочитаю о вас на основе ваших рекомендаций! Еще раз большое спасибо! :)

Ответы [ 4 ]

1 голос
/ 06 декабря 2011

Попробуйте посмотреть, что такое связанный список и как его нужно построить. Ваш код psuedo не имеет никакого отношения к связанному списку, только к элементарной записи данных. Я предлагаю вам просмотреть следующую ссылку, чтобы понять, что это такое и как это работает. Фактическое кодирование довольно просто, когда вы понимаете структуру.

Я призываю других не делать за вас домашнее задание.

Wikipedia

0 голосов
/ 06 декабря 2011

Сначала вам нужно определить базовый строительный блок связанного списка, который называется Node. Узлы похожи на контейнеры, которые хранят все, что вы хотите. Вот почему переменная storeData имеет тип Object. Вы бы определили это так:

public class MyNode{
Object storedData; // this is a reference to the object that you want stored in the list
MyNode next; //this is a reference to the next node in your list
...
}

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

public class MyLinkedList{
 MyNode head; //this is a reference to the top element of your list
 int nodeCount // 
 //put all the requkired methods here
}
0 голосов
/ 06 декабря 2011

Это не слишком сложно, вам просто нужно создать свой собственный класс Node. Этот класс может выглядеть примерно так:

public class Node{
    protected String name;
    protected int age;
    //any additional data you need...
    protected Node next;

    //methods...

Этот класс будет содержать много полей данных и предоставит методы для взаимодействия с этими полями. Ключевым компонентом является «защищенный узел затем»; строка, которая является следующим узлом в связанном списке. Все узлы в списке будут иметь следующий узел, кроме хвоста. Хвостовой узел установит следующий равным нулю.

0 голосов
/ 06 декабря 2011

Вы должны написать свой собственный LinkedList, который использует дженерики;пусть он обрабатывает любой тип объекта.

Вы называете и отправляете код, возраст и все, что нужно добавить в объект, который вы сможете добавить в LinkedList.

package linkedlist;

public class Node<T> {
    private Node<T> prev;
    private Node<T> next; 
    private T value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...