Sử dụng Stack trong lập trình Java

Giới thiệu nội dung bài viết

Một trong những cấu trúc dữ liệu quan trọng trong lập trình Java đòi hỏi các bạn cần nắm, đó chính là Stack – cấu trúc dữ liệu ngăn nắp. Với cấu trúc dữ liệu này sẽ giúp tốc độ tính toán của bạn trong quá trình code các chương trình lập trình hướng đối tượng Java sẽ trở nên nhanh chóng và thuận tiện hơn. Vậy Stack là gì? Các phương thức của Stack trong lập trình Java. Cũng như các thao tác có thể làm với cấu trúc dữ liệu ngăn nắp Stack bao gồm cách để thêm vào hay lấy ra một phần tử từ Stack. Làm thế nào để tìm kiếm, xem phần tử đầu tiên. Kiểm tra kích thước và duyệt qua các phần tử trong Stack bằng cách nào? Tất cả sẽ được hướng dẫn thông qua những chia sẻ lý thuyết kèm theo các ví dụ minh hoạ trong bài viết dưới đây.

1. Stack trong lập trình Java là gì

Trong lập trình Java, chúng ta sử dụng Stack để lưu trữ các phần tử theo dạng ngăn xếp. Anh lấy ví dụ như mình sắp xếp một chồng dĩa gồm 10 cái dĩa. Thì cái dĩa nào được xếp đầu tiên sẽ ở phía dưới cùng, và cái dĩa sắp xếp sau cùng sẽ ở phía trên cùng. Như vậy khi ta lấy từng cái dĩa thì ta sẽ lấy cái trên cùng trước. Các phần tử của Stack được hoạt động theo nguyên lý phần tử nào được thêm sau cùng sẽ được lấy ra đầu tiên. Nó khác với Queue là phần tử nào được thêm đầu tiên sẽ được lấy ra đầu tiên.

  • Tạo một Stack
1
Stack stack = new Stack();

2. Thêm một phần tử vào Stack

  • Chúng ta sử dụng phương thức push để thêm một phần tử vào Stack
1
2
3
Stack<String> stack = new Stack<String>();

stack.push("1");

3. Lấy một phần tử ra khỏi Stack

  • Chúng ta sử dụng phương thức pop để lấy một phần tử ra Stack
1
2
3
4
5
Stack<String> stack = new Stack<String>();

stack.push("1");

String topElement = stack.pop();

4. Xem phần tử đầu tiên Stack

  • Chúng ta có thể xem phần tử đầu tiên của Stack là gì mà không cần phải lấy nó ra khỏi Stack thông qua phương thức peek
1
2
3
4
5
Stack<String> stack = new Stack<String>();

stack.push("1");

String topElement = stack.peek();

5. Tìm kiếm trong Stack

  • Chúng ta sử dụng phương thức search để tìm kiếm giá trị trong Queue
1
2
3
4
5
6
7
Stack<String> stack = new Stack<String>();

stack.push("1");
stack.push("2");
stack.push("3");

int index = stack.search("3");     //index = 3

6. Kích thước của Stack

Để xem kích thước của Stack ta dùng phương thức size như sau

1
2
3
4
5
6
7
Stack<String> stack = new Stack<String>();

stack.push("1");
stack.push("2");
stack.push("3");

int size = stack.size();

7. Duyệt qua các phần tử trong Stack

  • Chúng ta sử dụng Iterator để duyệt qua các phần tử trong Stack
1
2
3
4
5
6
7
8
9
10
Stack<String> stack = new Stack<String>();

stack.push("123");
stack.push("456");
stack.push("789");

Iterator iterator = stack.iterator();
while(iterator.hasNext()){
    Object value = iterator.next();
}

8. Demo Video

9. Source code

Sourcecode


Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm

Các khoá học lập trình MIỄN PHÍ tại đây


Comments