как я могу поделиться связанным списком между двумя классами - PullRequest
1 голос
/ 02 октября 2009

предполагается, что я создал связанный список в классе A как класс B может получить к нему доступ? пожалуйста, дайте мне несколько примеров, если таковые имеются большое спасибо

Ответы [ 4 ]

2 голосов
/ 02 октября 2009

Если связанный список поддерживается классом A. Вам следует создать интерфейс, который может использоваться классом B.

Я могу думать о:

  • Добавить, чтобы добавить в связанный список
  • Удалить, удалить из связанного списка
  • Заменить, заменить предмет
  • Поиск, чтобы получить элемент из списка.
  • Длина, чтобы получить длину списка.

И, возможно, есть и другие (например, итератор), но они должны соответствовать вашим потребностям.

Другой вариант - создать его вне класса A и B и передать его классам при строительстве.

0 голосов
/ 22 августа 2013

Вы можете создавать функции друзей для вставки, удаления, обхода и т. Д. И других операций в списке ссылок в классе A, и они будут доступны для использования в классе B.

0 голосов
/ 18 февраля 2010

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

0 голосов
/ 02 октября 2009

Один из способов - передать список обоим классам через конструктор.

List<X> list = new LinkedList<X>();
A a = new A(list);
B b = new B(list);
...