一、Stack類 1.Stack是Vector的一個子類,它實現(xiàn)標準的后進先出堆棧。Stack只定義了創(chuàng)建空堆棧的默認構造方法。 Stack() 2.Stack類里面主要實現(xiàn)的有以下的幾個方法: (1)boolean empty( )方法是判斷堆棧是否為空。 (2)Object peek( )方法是返回棧頂端的元素,但不從堆棧中移除它。 (3)Object pop( )方法是移除堆棧頂部的對象,并作為此函數(shù)的值返回該對象。 (4)Object push (Object element)方法是把元素壓入棧。 (5)int search(Object element)方法是返回對象在堆棧中的位置,它是以1為基數(shù)。 二、Stack類boolean empty()方法 1.boolean empty()方法是判斷堆棧是否為空,就需要有一個變量來計算當前棧的長度,若變量的值為0,說明這個棧是空的。 2.例子的實現(xiàn): import java.util.Stack; public class T7 { public static void main(String[] args) { // TODO Auto-generated method stub //定義一個String泛型的Stack Stack<String> stack = new Stack<String>(); //判斷新建的棧是否為空 boolean flag=stack.empty(); if(flag){ System.out.println("新建的棧是為空"); }else{ System.out.println("新建的棧是不為空,它的長度是:"+stack.size()); } } } 運行的結果如下所示: 三、Stack類Object peek()方法 1.Object peek( )方法是返回棧頂端的元素,對堆棧中本身不做任何的改動。若棧里有元素就返回最頂端的元素。 2.例子的實現(xiàn) import java.util.Stack; public class T8 { public static void main(String[] args) { // TODO Auto-generated method stub //定義一個String泛型的Stack Stack<String> stack = new Stack<String>(); //把元素壓入棧中 stack.push("Java"); stack.push("Python"); stack.push("PHP"); stack.push("軟件測試"); stack.push("軟件工程"); //返回棧頂端的元素,但不從堆棧中移除它 String topE=stack.peek(); System.out.println("返回堆棧中的棧頂元素為 : "+topE); } } 運行的結果如下所示: 四、Stack類Object pop()方法 1.Object pop()方法移除堆棧頂部的對象,并作為此函數(shù)的值返回該對象。 2.例子的實現(xiàn) import java.util.Stack; public class T8 { public static void main(String[] args) { // TODO Auto-generated method stub //定義一個String泛型的Stack Stack<String> stack = new Stack<String>(); //把元素壓入棧中 stack.push("Java"); stack.push("Python"); stack.push("PHP"); stack.push("軟件測試"); stack.push("軟件工程"); System.out.println("堆棧中的元素有:"+stack); //移除堆棧頂部的元素,但不從堆棧中移除它 String remove=stack.pop(); System.out.println("移除堆棧頂部的元素有:"+remove); System.out.println("移除后堆棧中的元素有:"+stack); } } 運行的結果如下所示: 五、Stack類Object push (Object element)方法 1.push(Object element)方法把入棧的元素添加到數(shù)組的末尾,數(shù)組的長度就加1。 2.例子的實現(xiàn) import java.util.Stack; public class T9 { public static void main(String[] args) { // TODO Auto-generated method stub //定義一個Integer泛型的Stack Stack<Integer> stack = new Stack<Integer>(); //把元素壓入棧中 stack.push(10); stack.push(20); stack.push(30); stack.push(40); System.out.println("堆棧中的元素有:"+stack); } } 運行的結果如下所示: 六、Stack類int search(Object element)方法 1.int search(Object element)方法是返回對象在堆棧中的位置,它是以1為基數(shù)。 2.例子的實現(xiàn) import java.util.Stack; public class T9 { public static void main(String[] args) { // TODO Auto-generated method stub //定義一個Integer泛型的Stack Stack<Integer> stack = new Stack<Integer>(); //把元素壓入棧中 stack.push(10); stack.push(20); stack.push(30); stack.push(40); System.out.println("堆棧中的元素有:"+stack); //返回對象在堆棧中的位置,它是以1為基數(shù) int find=stack.search(20); System.out.println("返回對象在堆棧中的位置:"+find); } } 運行的結果如下所示: 七、總結 本文主要介紹了Stack類、Stack類的常用方法,例如boolean empty()方法、Object peek()方法、Object pop()方法、Object push (Object element)方法、int search(Object element)方法。Stack是Vector的一個子類,它實現(xiàn)標準的后進先出堆棧。empty()方法判斷堆棧是否為空、peek()方法返回棧頂端的元素,對堆棧中本身不做任何的改動、pop()方法移除堆棧頂部的對象、push()方法把元素壓入棧中、search()方法是返回對象在堆棧中的位置,它是以1為基數(shù)。通過本文的學習,希望對你有所幫助! 文章來源:網絡 版權歸原作者所有 上文內容不用于商業(yè)目的,如涉及知識產權問題,請權利人聯(lián)系小編,我們將立即處理 |
|