List.java public interface List { public void insert(int i,Object obj)throws Exception; public Object delete(int i)throws Exception; public Object getData(int i)throws Exception; public int size(); public boolean isEmpty(); } LinList.java 为什么不叫LinkList或LinkedList呢,因为我们的数据结构树上就是爱用Lin public class LinList implements List { /** * Variables * */ Node head; Node current; int size; /** * Methods * */ public LinList() { head=current=new Node(null); size=0; } /** * index(int i) * */ public void index(int i)throws Exception { if(i<=-1||i>size-1){ throw new Exception("参数错误"); } if(i==-1){ return; } current=head.next; int j=0; while((current!=null)&&j<i){ current=current.next; j++; } } /** * insert(int i,Object obj) * */ public void insert(int i,Object obj)throws Exception{ if(i<0||i>size-1){ throw new Exception("参数错误"); } index(i-1); current.setNext(new Node(obj,current.getNext())); size++; } /** * delete(int i) * */ public Object delete(int i)throws Exception{ if(i>size-1||i<0){ throw new Exception("链表空,无法删除"); } if(i<0||i>size-1){ throw new Exception("参数错误"); } index(i-1); Object robj=current.next.getElement(); current.setNext(current.next.next); size--; return robj; } /** * getData * */ public Object getData(int i) throws Exception { if(i<-1||i>size-1){ throw new Exception("Ur paramater is wrong!"); } index(i); return current.getElement(); } public boolean isEmpty() { return size==0; } public int size() { return size; } } Node.java 存在的,就是合理的? public class Node { public Object element; Node next; Node(Node next){ this.next=next; } Node(Object obj,Node next){ this.next=next; this.element=obj; } public void setElement(Object obj){ this.element=obj; } public Object getElement(){ return element; } public Node getNext(){ return next; } public void setNext(Node next){ this.next=next; } public String toString(){ return element.toString(); } } Yes.more testers. public class exp1_2_1 { /** * Variables * */ /** * Methods */ public static void main(String[] args) { LinList aList=new LinList(); int a=10; for(int i=0;i<a;i++){ try { aList.insert(i+1,String.valueOf(i+1)); } catch (Exception e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } for(int i=0;i<aList.size();i++){ try{ System.out.println(aList.getData(i)); } catch(Exception e){ e.printStackTrace(); } } try { aList.delete(4); } catch (Exception e1) { // TODO 自动生成 catch 块 e1.printStackTrace(); } System.out.println("the fifth element had been Deleted!"); for(int i=0;i<aList.size;i++){ try{ System.out.println(aList.getData(i)+"hehe"); } catch(Exception e){ e.printStackTrace(); } } } }