Java 8实现任意参数的单链表

这篇文章主要为大家详细介绍了Java 8实现任意参数的单链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java 8实现任意参数的单链表,供大家参考,具体内容如下

1、实现功能

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  { /** * Only used to store the head node. */ private SingleNode 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  tempNode = head; int i = 0; while (i++  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  retNode = head; int i = 0; while (i++  tempNode = head; int i = 0; while (i++  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 { /** * The value. */ AnyType val; /** * The next node. */ SingleNode next; /** * The first constructor. * @param * paraVal: The given value. */ SingleNode (AnyType paraVal) { val = paraVal; }//The first constructor }//Of class SingleNode 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持html中文网。

以上就是Java 8实现任意参数的单链表的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java