java 堆疊的使用方法說明

javascript前鋒發表於2015-03-09

最近偶然開始對stack進行研究,發現這個還蠻簡單的,與類似的連結串列集合不一樣的是,stack可以通過直接new stack()建立。

stack資料儲存方式為“後進先出”的方式,例如:

Stack<String> stack = new Stack<String>();
		stack.add("zhangsan");
		stack.add("lisi");
		stack.add("wangwu");
		stack.add("qianliu");
		stack.add("zhaoda");
		int index = stack.search("qianliu");// 尋找物件位置
		int index1 = stack.search("zhaoda");// 尋找物件位置
		System.out.println("位置為:"+index+":"+index1);
		stack.add(3, "孫二孃");
		
		String first=stack.firstElement();
		System.out.println("first="+first);
		stack.push("王五");
		System.out.println("top="+stack.lastElement());

java支援堆疊中物件元素為null,也可以通過設定setSize(int num)使得資料為null。

在stack中,可以發現最後新增的資料“王五”需要通過lastElement方法獲取,如果需要採用search獲取位置index,那麼可以預計位置為
1.stack中對資料已經存在的資料的操作方法都提供了返回引數如:String delete=stack.pop();stack提供了直接新增入list集合的方法。
下面是對stack中資料的遍歷:

最後介紹一下在堆疊中新增list集合:

Stack<String> stack = new Stack<String>();
		stack.add("zhangsan");
		stack.add("lisi");
		stack.add("wangwu");
		stack.add("qianliu");
		stack.add("zhaoda");
		stack.add(null);
		List<String> list=new ArrayList<String>();
		list.add("A");
		list.add("B");
		list.add("C");
		stack.addAll(list);
		System.out.println("size="+stack.size());
		Iterator<String> it=stack.iterator();
		while(it.hasNext()){
			String object=it.next();
			System.out.print(object+",");
		}
輸出結果為:size=9
zhangsan,lisi,wangwu,qianliu,zhaoda,null,A,B,C,

以上對stack的操作皆來自於對jdk中stack自帶方法的處理。並不具備實際的企業開發意義,但是瞭解堆疊也為以後選擇儲存資料提供了一個新的方式。


相關文章