Lớp ngăn xếp Java

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 Stackcung cấp chức năng của cấu trúc dữ liệu ngăn xếp.

Các Stacklớp mở rộng Vectorlớ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.Stacktrướ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, Typecho 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 Stackmở rộng Vectornên nó kế thừa tất cả các phương thức Vector. Để tìm hiểu về các Vectorphươ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, Stacklớ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 Stacklớ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 ArrayDequelớp (triển khai Dequegiao 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?

thú vị bài viết...