//获得在链表中index(从0开始计)个位置的元素e//在链表中不是一个常用的操作,练习使用public E get(int index){//首先判断传入的index是否合法if(index<0||index > size){thrownewIllegalArgumentException("传入的index不合法");}
Node cur = dummyHead.next;for(int i =0; i < index; i++){
cur = cur.next;}return cur.e;}//获得链表中的第一个元素public E getFirst(){returnget(0);}//获取链表中的最后一个元素public E getLast(){returnget(size-1);}
更新功能:
//修改在链表中index(从0开始计)个位置的元素e//在链表中不是一个常用的操作,练习使用publicvoidset(int index,E e){//首先判断传入的index是否合法if(index<0||index >= size){thrownewIllegalArgumentException("传入的index不合法");}
Node cur = dummyHead.next;for(int i =0; i < index; i++){
cur = cur.next;}
cur.e = e;}
查找功能:(查找是否有某元素)
//查找链表中是否有元素epublicbooleancontains(E e){
Node cur = dummyHead.next;while(cur!=null){if(cur.e.equals(e)){returntrue;}else{
cur = cur.next;}}returnfalse;}
重写toString方法
@Overridepublic String toString(){
StringBuilder res =newStringBuilder();// Node cur = dummyHead.next;// while(cur.next!=null){// //for (Node cur= dummyHead.next;cur.next!=null;cur = cur.next)// res.append(cur+"->");// cur = cur.next;// }for(Node cur= dummyHead.next;cur!=null;cur = cur.next){
res.append(cur+"->");}
res.append("NULL");return res.toString();}
测试类
publicstaticvoidmain(String[] args){
LinkedList<Integer> linkedList =newLinkedList<>();for(int i =0; i <5; i++){
linkedList.addFirst(i);
System.out.println(linkedList);}
linkedList.addLast(666);
System.out.println(linkedList);}