Java 8實現(xiàn)任意參數(shù)的單鏈表
更新時間:2020年10月27日 17:11:49 作者:因吉
這篇文章主要為大家詳細介紹了Java 8實現(xiàn)任意參數(shù)的單鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Java 8實現(xiàn)任意參數(shù)的單鏈表,供大家參考,具體內(nèi)容如下
1、實現(xiàn)功能
1)add():鏈表末尾添加元素;
2)pop():移除鏈表尾部元素;
3)insert():指定索引處添加元素;
4)delete():指定索引處刪除元素;
5)getSize():獲取鏈表當前長度;
6)display():展示鏈表當前元素。
2、代碼
package DataStructure; /** * @author: Inki * @email: inki.yinji@qq.com * @create: 2020 1024 * @last_modify: 2020 1025 */ public class MySingleLinkedList <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; /** * Add element to the end of the list. * @param: * paraVal: The given value. */ public void add(AnyType paraVal) { insert(size, paraVal); }//Of add /** * Pop the last element. * @return: * The popped value. */ public AnyType pop(){ return delete(size - 1); }//Of pop /** * Insert element at specified index. * @param: * paraIdx: The given index. * paraVal: The given value. */ public void insert(int paraIdx, AnyType paraVal) { if (paraIdx > size) { throw new IndexOutOfBoundsException("The index error."); }//Of if SingleNode <AnyType> tempNode = head; int i = 0; while (i++ < paraIdx) { tempNode = tempNode.next; }//Of while SingleNode<AnyType> paraNode = new SingleNode <>(paraVal); paraNode.next = tempNode.next; tempNode.next = paraNode; size++; }//of add /** * Delete the element at specified index. * @param: * paraIdx: The given index of element to delete. * @return: * The deleted value. */ public AnyType delete(int paraIdx) { if (size == 0) { throw new RuntimeException("The single linked list is empty."); }//Of if if (size <= paraIdx) { throw new IndexOutOfBoundsException("The index error."); }//Of if SingleNode <AnyType> retNode = head; int i = 0; while (i++ < paraIdx) { retNode = retNode.next; }//Of while retNode.next = retNode.next.next; size--; return retNode.val; }//Of delete /** * 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 single linked list is empty."); }//Of if System.out.print("The single linked list 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) { MySingleLinkedList <Character> test = new MySingleLinkedList<>(); test.add('a'); test.add('b'); test.insert(0, 'c'); test.add('d'); test.insert(0, '5'); test.delete(4); test.pop(); test.add('+'); test.display(); System.out.println(test.getSize()); }//Of main }//Of class MySingleLinkedList 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
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Java實現(xiàn)單鏈表反轉(zhuǎn)的多種方法總結(jié)
- Java如何實現(xiàn)單鏈表的增刪改查
- Java單鏈表反轉(zhuǎn)圖文教程
- java實現(xiàn)簡單單鏈表
- 用JAVA實現(xiàn)單鏈表,檢測字符串是否是回文串
- Java單鏈表的簡單操作實現(xiàn)教程
- Java 單鏈表數(shù)據(jù)結(jié)構(gòu)的增刪改查教程
- java實現(xiàn)單鏈表增刪改查的實例代碼詳解
- Java數(shù)據(jù)結(jié)構(gòu)之簡單鏈表的定義與實現(xiàn)方法示例
- java 數(shù)據(jù)結(jié)構(gòu)單鏈表的實現(xiàn)
- Java實現(xiàn)單鏈表翻轉(zhuǎn)實例代碼
- java 實現(xiàn)單鏈表逆轉(zhuǎn)詳解及實例代碼
- Java實現(xiàn)單鏈表的各種操作
- Java單鏈表的實現(xiàn)代碼
- Java數(shù)據(jù)結(jié)構(gòu)之單鏈表詳解
相關文章
Java8新特性之Collectors.joining()實例詳解
在項目中我們常常要對list集合的數(shù)據(jù)做一些字符串拼接/處理等相關操作,下面這篇文章主要給大家介紹了關于Java8新特性之Collectors.joining()的相關資料,需要的朋友可以參考下2023-01-01基于Springboot+Netty實現(xiàn)rpc的方法 附demo
這篇文章主要介紹了基于Springboot+Netty實現(xiàn)rpc功能,在父項目中引入相關依賴結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02java11新特性之集合轉(zhuǎn)換為數(shù)組的方法
Java11引入了一種將帶有泛型的集合轉(zhuǎn)換為帶有泛型的數(shù)組的簡單方法,本文通過實例代碼介紹java11新特性之集合轉(zhuǎn)換為數(shù)組的操作方法,感興趣的朋友跟隨小編一起看看吧2024-06-06