欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java8實現任意參數的鏈棧

 更新時間:2020年10月27日 17:12:50   作者:因吉  
這篇文章主要為大家詳細介紹了Java8實現任意參數的鏈棧,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java8實現任意參數的鏈棧,供大家參考,具體內容如下

1、實現功能

1)push():入棧;
2)pop():出棧;
3)getSize():獲取棧大??;
4)display():展示棧。

以一下測試進行特別說明:

 /**
  * The main function.
 */
 public static void main(String[] args) {
  MyLinkedStack <Character> test = new MyLinkedStack<>();
  test.push('2');
  test.push('+');
  test.push('-');
  test.pop();
  test.push('(');
  test.display();
}

輸出如下,即輸出順序為棧頂、棧頂下一個…

The linked stack is:
[(, +, 2]

2、代碼

package DataStructure;

/**
 * @author: Inki
 * @email: inki.yinji@qq.com
 * @create: 2020 1026
 * @last_modify: 2020 1026
 */

public class MyLinkedStack <AnyType> {

 /**
  * Only used to store the head node.
  */
 private SingleNode<AnyType> head = new SingleNode(new Object());

 /**
  * The single linked list current size.
  */
 private int size = 0;

 /**
  * Push element to the end of the list.
  * @param:
  *  paraVal: The given value.
  */
 public void push(AnyType paraVal) {
  SingleNode <AnyType> tempNode = new SingleNode<>(paraVal);
  tempNode.next = head.next;
  head.next = tempNode;
  size++;
 }//Of push

 /**
  * Pop the last element.
  * @return:
  *  The popped value.
  */
 public AnyType pop(){

  if (size == 0) {
   throw new RuntimeException("The stack is empty.");
  }

  AnyType retVal = head.next.val;
  head.next = head.next.next;
  size--;
  return retVal;
 }//Of pop

 /**
  * Get the current size of the single linked list.
  * @return:
  *  The current size of the single linked list.
  */
 public int getSize() {
  return size;
 }//Of getSize

 /**
  * Display the single linked list.
  */
 public void display() {

  if (size == 0) {
   throw new RuntimeException("The stack is empty.");
  }//Of if

  System.out.print("The linked stack is:\n[");
  SingleNode <AnyType> tempNode = head;
  int i = 0;
  while (i++ < size - 1) {
   tempNode = tempNode.next;
   System.out.printf("%s, ", tempNode.val);
  }//Of while
  System.out.printf("%s]\n", tempNode.next.val);
 }//Of display

 /**
  * The main function.
  */
 public static void main(String[] args) {
  MyLinkedStack <Character> test = new MyLinkedStack<>();
  test.push('2');
  test.push('+');
  test.push('-');
  test.pop();
  test.push('(');
  test.display();
 }
}//Of class MyLinkedStack


class SingleNode <AnyType>{

 /**
  * The value.
  */
 AnyType val;

 /**
  * The next node.
  */
 SingleNode<AnyType> next;

 /**
  * The first constructor.
  * @param
  *  paraVal: The given value.
  */
 SingleNode (AnyType paraVal) {
  val = paraVal;
 }//The first constructor

}//Of class SingleNode

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關文章

  • Java封裝的實現訪問限定符、包

    Java封裝的實現訪問限定符、包

    封裝就是將數據和操作數據的方法進行有機結合,隱藏對象的屬性(成員變量)和實現細節(jié),僅對外公開接口來和對象進行交互,下面這篇文章主要給大家介紹了關于Java封裝實現訪問限定符、包的相關資料
    2022-08-08
  • Java實現XML與JSON秒級轉換示例詳解

    Java實現XML與JSON秒級轉換示例詳解

    這篇文章主要為大家介紹了Java實現XML與JSON秒級轉換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • java和jsp中的request使用示例

    java和jsp中的request使用示例

    這篇文章主要介紹了java和jsp中的request使用示例,需要的朋友可以參考下
    2014-02-02
  • java根據不同的參數調用不同的實現類操作

    java根據不同的參數調用不同的實現類操作

    這篇文章主要介紹了java根據不同的參數調用不同的實現類操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java集合類源碼分析之Set詳解

    java集合類源碼分析之Set詳解

    下面小編就為大家?guī)硪黄猨ava集合類源碼分析之Set詳解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • mybatis-plus報錯net.sf.jsqlparser.statement.select.SelectBody的問題解決

    mybatis-plus報錯net.sf.jsqlparser.statement.select.SelectBody的

    本文主要介紹了mybatis-plus報錯net.sf.jsqlparser.statement.select.SelectBody的問題解決,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • 淺談SpringBoot Bean加載優(yōu)先級的問題

    淺談SpringBoot Bean加載優(yōu)先級的問題

    這篇文章主要介紹了淺談SpringBoot Bean加載優(yōu)先級的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java實現的質因數分解操作示例【基于遞歸算法】

    Java實現的質因數分解操作示例【基于遞歸算法】

    這篇文章主要介紹了Java實現的質因數分解操作,結合實例形式較為詳細的分析了Java基于遞歸算法實現針對整數的質因數分解相關操作技巧,需要的朋友可以參考下
    2018-03-03
  • Presto支持Elasticsearch數據源配置詳解

    Presto支持Elasticsearch數據源配置詳解

    這篇文章主要為大家介紹了Presto支持Elasticsearch數據源配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Java中Dom4j的配置與使用示例詳解

    Java中Dom4j的配置與使用示例詳解

    Dom4j是一個強大的Java庫,用于處理XML數據,結合了DOM、SAX、JDOM的優(yōu)點,它可以解析、生成、修改和序列化XML文檔,適用于數據交換、配置文件管理、日志記錄、數據持久化和Web服務等場景,Dom4j提供了簡單易用的API,便于開發(fā)者進行高效的XML操作
    2024-10-10

最新評論