2009-08-24 40 views
7

Hmm. Tôi nhận thấy Stack là một phân lớp của Vector, và tôi nghĩ Vector và Hashtable được coi là cơ sở dữ liệu "cũ" vì đồng bộ hóa nội bộ của chúng ngay cả khi bạn không cần nó. (so với Danh sách, Bản đồ, v.v. không cung cấp cho bạn)java.util.Stack cấu trúc dữ liệu thích hợp?

Đó là một lớp, không phải là giao diện.

Có phương án thay thế hiện đại hơn không?

Trả lời

15

java.util.Deque

Deques cũng có thể được sử dụng như LIFO (Last-In-First-Out) ngăn xếp. Giao diện này nên được sử dụng tùy theo lớp Stack cũ. Khi một deque được sử dụng như một chồng, các yếu tố được đẩy và popped từ đầu của deque.

+3

Bộ sưu tập.asLifoQueue sẽ biến 'Deque' thành hàng đợi LIFO" đúng ". –

2

Tôi đã kết thúc bằng LinkedList cho mục đích của mình (add() và removeLast() là các thao tác push và pop). Rất tiếc, có vẻ như đây là một bản sao Q.

Các vấn đề liên quan