java 實現 數據結構 總結:鏈表 棧 隊列 – JAVA編程語言程序開發技術文章

最近在準備找工作的事情,就復習瞭一下java。翻瞭一下書和網上的教材,發現雖然很多書是用java講數據結構的,但是側重於將數據結構本身的知識,利用java本身的類庫來實現數據結構的系統性的講解少之又少,所以在此做一下總結,方便各位正在準備工作的和用java實現數據結構的朋友們。

//Stack

Stack<String> st=new Stack<String>();
//Stack<Integer> st=new Stack<Integer>();
st.push("1a");
st.push("2b");  www.aiwalls.com
st.push("3c");
st.push("4d");
System.out.println("pop is:"+st.pop());
System.out.println("size is:"+st.size());
System.out.println("peek is:"+st.peek());
System.out.println("isEmpty is:"+st.isEmpty());
System.out.println("toString is:"+st.toString());

System.out.println();

//Queue
Queue<String> qu=new LinkedList<String>();//wrong:Queue<String> qu=new Queue<String>();
qu.add("1a");
qu.add("2b");
qu.add("3c");
qu.add("4d");
//qu.offer("4d");//equal to add,but no exception
System.out.println("remove is:"+qu.remove());
//System.out.println("poll is:"+qu.poll());//equal to remove,but no exception
System.out.println("peek is:"+qu.peek());
System.out.println(qu.toString());

System.out.println();

//link list 鳴謝:站長中心
   LinkedList<String> head = new LinkedList<String>(); 
   head.add("1"); 
   head.add("3"); 
   head.add(1, "2"); 
   //鏈表會自動用遍歷的方式打印所有內容 
   System.out.println(head); 
   System.out.println("size is:"+head.size());
   //利用Vector或者是ArrayList等Collection往鏈表中加數據 
   Vector<String> v = new Vector<String>();  //need to import java.util.Vector;
   //向Vector中加入東西 
   v.add("a"); 
   v.add("b"); 
   //將當前Vector加在當前鏈表的最後 
   head.addAll(v); 
   System.out.println(head); 
   //將當前Vector加在當前鏈表的指定位置 
   head.addAll(2, v); 
   System.out.println(head); 
   //打印指定位置的內容 
   System.out.println("get(2) is:"+head.get(2)); 
   System.out.println("index is:"+head.indexOf(head.get(2)));
   head.addFirst("fist"); 
   head.addLast("last"); 
   System.out.println(head); 
   //刪除第一個 
   head.remove(head.getFirst()); 
   head.remove(head.getLast()); 
   System.out.println(head); 
   //再刪除第一個,采用下標的方式,下標從0開始 
   head.remove(0); 
   System.out.println(head); 
   

發佈留言