Trong hướng dẫn này, chúng ta sẽ tìm hiểu về lớp Java Stack và các phương thức của nó với sự trợ giúp của các ví dụ.
Khung tập hợp Java có một lớp được đặt tên Stack
cung cấp chức năng của cấu trúc dữ liệu ngăn xếp.
Các Stack
lớp mở rộng Vector
lớp.
Thực hiện ngăn xếp
Trong ngăn xếp, các phần tử được lưu trữ và truy cập theo cách Cuối cùng Trong Đầu ra . Nghĩa là, các phần tử được thêm vào đầu ngăn xếp và bị xóa khỏi đầu ngăn xếp.
Tạo ngăn xếp
Để tạo một ngăn xếp, java.util.Stack
trước tiên chúng ta phải nhập gói. Sau khi chúng tôi nhập gói, đây là cách chúng tôi có thể tạo một ngăn xếp trong Java.
Stack stacks = new Stack();
Ở đây, Type
cho biết loại ngăn xếp. Ví dụ,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Phương pháp ngăn xếp
Vì lớp Stack
mở rộng Vector
nên nó kế thừa tất cả các phương thức Vector
. Để tìm hiểu về các Vector
phương pháp khác nhau , hãy truy cập Lớp Java Vector.
Bên cạnh những phương thức này, Stack
lớp còn bao gồm 5 phương thức khác phân biệt nó với Vector
.
phương thức push ()
Để thêm một phần tử vào đầu ngăn xếp, chúng tôi sử dụng push()
phương pháp. Ví dụ,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); ) )
Đầu ra
Ngăn xếp: (Chó, Ngựa, Mèo)
phương thức pop ()
Để xóa một phần tử khỏi đầu ngăn xếp, chúng tôi sử dụng pop()
phương pháp. Ví dụ,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Initial Stack: " + animals); // Remove element stacks String element = animals.pop(); System.out.println("Removed Element: " + element); ) )
Đầu ra
Ngăn xếp ban đầu: (Chó, Ngựa, Mèo) Phần tử đã xóa: Mèo
Phương thức peek ()
Các peek()
phương thức trả về một đối tượng từ phía trên cùng của ngăn xếp. Ví dụ,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // Access element from the top String element = animals.peek(); System.out.println("Element at top: " + element); ) )
Đầu ra
Stack: (Dog, Horse, Cat) Phần tử ở trên cùng: Cat
phương thức search ()
Để tìm kiếm một phần tử trong ngăn xếp, chúng tôi sử dụng search()
phương pháp. Nó trả về vị trí của phần tử từ trên cùng của ngăn xếp. Ví dụ,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // Search an element int position = animals.search("Horse"); System.out.println("Position of Horse: " + position); ) )
Đầu ra
Stack: (Dog, Horse, Cat) Vị trí của Horse: 2
Phương thức rỗng ()
Để kiểm tra xem một ngăn xếp có trống hay không, chúng ta sử dụng empty()
phương pháp này. Ví dụ,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // Check if stack is empty boolean result = animals.empty(); System.out.println("Is the stack empty? " + result); ) )
Đầu ra
Ngăn xếp: (Chó, Ngựa, Mèo) Ngăn xếp có trống không? sai
Sử dụng ArrayDeque thay vì Stack
Các Stack
lớp học cung cấp cho việc thực hiện trực tiếp của cấu trúc ngăn xếp dữ liệu. Tuy nhiên, khuyến cáo không nên sử dụng. Thay vào đó, hãy sử dụng ArrayDeque
lớp (triển khai Deque
giao diện) để triển khai cấu trúc dữ liệu ngăn xếp trong Java.
Để tìm hiểu thêm, hãy truy cập:
- Java ArrayDeque
- Tại sao sử dụng Deque over Stack?