Java 8实现任意参数的单链表
本文实例为大家分享了Java8实现任意参数的单链表,供大家参考,具体内容如下
1、实现功能
1)add():链表末尾添加元素;
2)pop():移除链表尾部元素;
3)insert():指定索引处添加元素;
4)delete():指定索引处删除元素;
5)getSize():获取链表当前长度;
6)display():展示链表当前元素。
2、代码
packageDataStructure; /** *@author:Inki *@email:inki.yinji@qq.com *@create:20201024 *@last_modify:20201025 */ publicclassMySingleLinkedList{ /** *Onlyusedtostoretheheadnode. */ privateSingleNode head=newSingleNode(newObject()); /** *Thesinglelinkedlistcurrentsize. */ privateintsize=0; /** *Addelementtotheendofthelist. *@param: *paraVal:Thegivenvalue. */ publicvoidadd(AnyTypeparaVal){ insert(size,paraVal); }//Ofadd /** *Popthelastelement. *@return: *Thepoppedvalue. */ publicAnyTypepop(){ returndelete(size-1); }//Ofpop /** *Insertelementatspecifiedindex. *@param: *paraIdx:Thegivenindex. *paraVal:Thegivenvalue. */ publicvoidinsert(intparaIdx,AnyTypeparaVal){ if(paraIdx>size){ thrownewIndexOutOfBoundsException("Theindexerror."); }//Ofif SingleNode tempNode=head; inti=0; while(i++ paraNode=newSingleNode<>(paraVal); paraNode.next=tempNode.next; tempNode.next=paraNode; size++; }//ofadd /** *Deletetheelementatspecifiedindex. *@param: *paraIdx:Thegivenindexofelementtodelete. *@return: *Thedeletedvalue. */ publicAnyTypedelete(intparaIdx){ if(size==0){ thrownewRuntimeException("Thesinglelinkedlistisempty."); }//Ofif if(size<=paraIdx){ thrownewIndexOutOfBoundsException("Theindexerror."); }//Ofif SingleNode retNode=head; inti=0; while(i++ tempNode=head; inti=0; while(i++ test=newMySingleLinkedList<>(); 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()); }//Ofmain }//OfclassMySingleLinkedList classSingleNode { /** *Thevalue. */ AnyTypeval; /** *Thenextnode. */ SingleNode next; /** *Thefirstconstructor. *@param *paraVal:Thegivenvalue. */ SingleNode(AnyTypeparaVal){ val=paraVal; }//Thefirstconstructor }//OfclassSingleNode
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。