Stack Class trong Java là gì và cách sử dụng nó như thế nào?



Lớp ngăn xếp trong Java là một phần của khung công tác Bộ sưu tập giúp đơn giản hóa các hoạt động như đẩy, bật, v.v. Bài viết này tập trung vào lớp ngăn xếp với các ví dụ.

Cấu trúc dữ liệu đã mang lại lợi ích cho thế giới lập trình vì chúng đơn giản hóa việc lập trình đến mức độ lớn. Lớp ngăn xếp trong Java là một phần của giúp đơn giản hóa các hoạt động khác nhau như push, pop, v.v. Trong bài viết này, chúng tôi tìm hiểu chi tiết khái niệm này. Các gợi ý sau sẽ được khám phá trong bài viết này:

Bắt đầu nào.





Lớp ngăn xếp trong Java là gì?

Một ngăn xếp là một cấu trúc dữ liệu theo sau LIFO (Last In First Out). Lớp ngăn xếp Java nằm trong Khung phân cấp bộ sưu tập cơ bản trong đó bạn có thể thực hiện các hoạt động cơ bản như đẩy, bật, v.v. Chúng tôi biết rằngKhung thu thập Java bao gồm giao diệncác lớp học . Bây giờ, chúng ta hãy có một cái nhìn rõ ràng về cách lớp ngăn xếp trong Java được sắp xếp trong hệ thống phân cấp khuôn khổ bộ sưu tập Java.

Hệ thống phân cấp - Lớp ngăn xếp trong Java - Edureka



php print_r thành chuỗi

Trong phân cấp ở trên, hộp màu xanh lam đề cập đếncác giao diện khác nhau và hộp màu vàng xác định lớp. Một ngăn xếp trong Java mở rộng lớp vectơ để triển khai thêm Giao diện danh sách . Bất cứ khi nào bạn tạo một Ngăn xếp, ban đầu nó không chứa bất kỳ mục nào, tức là Ngăn xếp trống.

Tiếp tục, hãy xem các phương thức khác nhau của Java Stack Class.

Phương thức của lớp ngăn xếp trong Java

Trong Java, chủ yếu có 5 phương thức của Stack Class.Sau đây là các phương thức có sẵn khi chúng ta sử dụng lớp ngăn xếp trong Java.



Phương pháp Sự miêu tả

trống()

Kiểm tra xem ngăn xếp có trống không

đẩy()

Đẩy một mục lên đầu ngăn xếp

pop ()

Xóa đối tượng khỏi ngăn xếp

nhìn trộm ()

Nhìn vào đối tượng của một ngăn xếp mà không cần xóa nó

Tìm kiếm()

Tìm kiếm mục trong ngăn xếp để lấy chỉ mục của nó

Hãy để chúng tôi hiểu từng phương pháp này với một ví dụ có lập trình:

package Edureka import java.io. * import java.util. * public class StackMethods {// thêm hoặc đẩy phần tử trên đầu ngăn xếp static void push_method (Stack st, int n) {st.push (new Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Hiện tại:' + st)} // Phần tử hiển thị trên đầu ngăn xếp static void peek_method (Stack & ampampampltInteger & ampampampgt st) { Phần tử số nguyên = (Số nguyên) st.peek () System.out.println ('Phần tử trên đầu ngăn xếp:' + phần tử)} // Tìm kiếm phần tử trong ngăn xếp static void search_method (Stack st, int element) {Integer pos = ( Integer) st.search (phần tử) if (pos == -1) System.out.println ('Phần tử không tìm thấy') else System.out.println ('Phần tử được tìm thấy tại vị trí' + pos)} // Xóa phần tử từ đầu ngăn xếp static void pop_method (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Còn lại ngăn xếp:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Ngăn xếp trống:' + st) push_method (st, 4) push_method (st, 8) push_method (st, 9) peek_method (st) search_method (st, 2) search_method (st, 4) pop_method ( st) pop_method (st) pop_method (st) try {pop_method (st)} catch (EmptyStackException e) {System.out.println ('trống ngăn xếp')}}}

Đầu ra:

Ngăn xếp trống: []
đẩy (4)
Ngăn xếp hiện tại: [4]
đẩy (8)
Ngăn xếp hiện tại: [4, 8]
đẩy (9)
Ngăn xếp hiện tại: [4, 8, 9]
Phần tử trên đầu ngăn xếp: 9
Phần tử không được tìm thấy
Phần tử được tìm thấy ở vị trí 3
pop = 9
Ngăn xếp còn lại: [4, 8]
pop = 8
Ngăn xếp còn lại: [4]
pop = 4
Ngăn xếp còn lại: []
pop = ngăn xếp trống

Giải trình: Ở trên , Đầu tiên tôi đã in một ngăn xếp trống và thêm một vài phần tử bằng phương pháp Đẩy. Khi các phần tử có trong ngăn xếp, tôi đã hiển thị các phần tử trên đầu ngăn xếp bằng phương pháp Peek. Sau đó, tôi đã thực hiện tìm kiếm bằng phương thức Search và cuối cùng đã loại bỏ các phần tử trong lớp Java Stack bằng phương thức Pop.

Tiếp tục với Lớp ngăn xếp Java, hãy cùng xem các thao tác khác nhau mà bạn có thể thực hiện khi triển khai lớp ngăn xếp trong Java.

Hoạt động ngăn xếp Java:

Kích thước của ngăn xếp:

package Edureka import java.util.EmptyStackException import java.util.Stack public class StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Kiểm tra xem Stack có trống không System.out.println (' Java Stack có trống không? '+ stack.isEmpty ()) // Tìm kích thước của Stack System.out. println ('Kích thước của Ngăn xếp:' + stack.size ())}}

Đầu ra: Ngăn xếp Java có trống không? sai
Kích thước của ngăn xếp: 3

Lặp lại các phần tử của ngăn xếp Java:

  • Lặp lại trên một ngăn xếp bằng trình lặp ()
  • Lặp lại trên một ngăn xếp bằng cách sử dụng Java 8 forEach ()
  • Lặp lại một ngăn xếp bằng listIterator () từ Trên xuống dưới

Hãy bắt đầu lặp lại các phần tử bằng cách sử dụng iterator ().

package Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack public class StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2') stack.push ('3') Iterator iterator = stack.iterator () while (iterator.hasNext ()) {Object value = iterator.next () System.out.println (value)} }}

Đầu ra:

một
2
3

Tương tự, bạn có thể thực hiện lặp lại bằng các phương pháp khác. Tham khảo mã dưới đây để hiểu thêm:

gói demo import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack public class JavaOperators {public static void main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Lặp lại một ngăn xếp bằng phương thức forEach ():') stack.forEach (n -> {Hệ thống. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Lặp lại trên một ngăn xếp bằng listIterator () từ Trên xuống dưới:') trong khi (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}

Đầu ra: Lặp lại một ngăn xếp bằng phương thức forEach ():
một
2
3
Lặp lại một Stack bằng listIterator () từ Trên xuống dưới:
3
2
một

một phiên bản java là gì

Giải trình: Trong đoạn mã trên, bạn có thể thấy sự lặp lại bằng cách sử dụng Phương thức forEach () và sau đó đảo ngược tương tự bằng cách sử dụng listIterator () từ trên xuống dưới của ngăn xếp.

Đây là phần cuối của blog “Lớp ngăn xếp trong Java”. Tôi hy vọng các bạn đã hiểu rõ về khuôn khổ bộ sưu tập Java, đó là hệ thống phân cấp cùng với mã ví dụ lớp Java Stack. Đọc blog tiếp theo của tôitrên nơi tôi đã liệt kê 75 câu hỏi và câu trả lời phỏng vấn hàng đầu sẽ giúp bạn tạo ra sự khác biệt trong quá trình phỏng vấn.

Bây giờ bạn đã hiểu Bộ sưu tập Java, hãy xem của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo và cấp chứng chỉ về Java J2EE và SOA của Edureka được thiết kế cho sinh viên và các chuyên gia muốn trở thành Nhà phát triển Java. Khóa học được thiết kế để cung cấp cho bạn khởi đầu về lập trình Java và đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog “Lớp ngăn xếp trong Java” này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.