Какую структуру данных я должен использовать для простого синхронизированного LIFO? - PullRequest
2 голосов
/ 03 октября 2011

Какую структуру данных я должен использовать для простого синхронизированного LIFO? Я использую Android Java 1.6. Проблема с коллекциями Java состоит в том, что существуют миллионы немного разных классов и интерфейсов.

Ответы [ 2 ]

4 голосов
/ 03 октября 2011

Как насчет стандартного стека ?Он синхронизирован.

ОБНОВЛЕНИЕ

Согласно javadoc, вы должны использовать реализацию Deque вместо Stack.Например, LinkedBlockingDeque

3 голосов
/ 03 октября 2011

Очередь

Класс java.util.concurrent ConcurrentLinkedQueue предоставляет эффективную масштабируемую потокобезопасную неблокирующую очередь FIFO. Пять реализаций в java.util.concurrent поддерживают расширенный интерфейс BlockingQueue, который определяет блокирующие версии put и take: LinkedBlockingQueue, ArrayBlockingQueue, SynchronousQueue, PriorityBlockingQueue и DelayQueue. Различные классы охватывают наиболее распространенные контексты использования для производителя-потребителя, обмена сообщениями, параллельных задач и связанных параллельных проектов. Интерфейс BlockingDeque расширяет BlockingQueue для поддержки операций FIFO и LIFO (на основе стека). Класс LinkedBlockingDeque обеспечивает реализацию.

Цитируется из Документов API для пакета java.util.concurrent .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...