java 实现 数据结构 总结:链表 栈 队列

2014-11-24 09:45:29 · 作者: · 浏览: 0

最近在准备找工作的事情,就复习了一下java。翻了一下书和网上的教材,发现虽然很多书是用java讲数据结构的,但是侧重于将数据结构本身的知识,利用java本身的类库来实现数据结构的系统性的讲解少之又少,所以在此做一下总结,方便各位正在准备工作的和用java实现数据结构的朋友们。

//Stack

Stack st=new Stack();
//Stack st=new Stack();
st.push("1a");
st.push("2b"); www.2cto.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 qu=new LinkedList();//wrong:Queue qu=new Queue();
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 head = new LinkedList();
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 v = new Vector(); //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);