本文共 986 字,大约阅读时间需要 3 分钟。
1)与添加元素时prev的起始位置dummyHead不同,cur的起始位置是dummyHead.next,目的是方便遍历(for循环中的遍历次数不变)
//在链表中间添加元素 public void add(int index,E e) { if(index<0||index>size) { throw new IllegalArgumentException("Add failed.Index illegal."); } if(index==0) addFirst(e);//addFirst不符合add的规律 Node prev=dummyHead; for(int i=0;i=size) throw new IllegalArgumentException("Get failed.Index illegal."); Node cur=dummyHead.next; for(int i=0;i
2)当参数碰到‘+string’会自动调用toString()函数
@Override public String toString() { StringBuilder res=new StringBuilder(); for(Node cur=dummyHead.next;cur!=null;cur=cur.next) { res.append(cur+"->"); } res.append("NULL"); return res.toString(); }
3)调用对象中的成员与其他变量进行比较时,用equal函数
//查询是否有元素e public boolean contains(E e) { Node cur=dummyHead.next; while(cur.e!=null) { if(cur.e.equals(e)) return true; } return false; }
转载地址:http://ebmki.baihongyu.com/