集合框架-用LinkedList實現棧結構

ZHOU_VIP發表於2017-04-23

C:用LinkedList模擬一個棧資料結構的集合類,並測試。

    你要定義一個集合類,只不過內部可以使用LinkedList來實現。


package cn.itcast_05;

import java.util.Iterator;
import java.util.LinkedList;

/*
 *請用LinkedList模擬棧資料結構的集合,並測試
 *題目的意思是:
 *		你自己的定義一個集合類,在這個集合類內部可以使用LinkedList模擬。
 */
public class LinkedListDemo {
	public static void main(String[] args) {
		 // A: LinkedList的特有新增功能addFirst()
		 // B:棧的特點先進後出
		 // 建立集合物件
		 LinkedList link = new LinkedList();
		
		 // 新增元素
		 link.addFirst("hello");
		 link.addFirst("world");
		 link.addFirst("java");
		
		 // 遍歷
		 Iterator it = link.iterator();
			while (it.hasNext()) {
			String s = (String) it.next();
			System.out.println(s);
		 }
		
		//為什麼不對呢?要讀懂題目意思
	}
}


package cn.itcast_05;

import java.util.LinkedList;

/**
 * 自定義的棧集合
 * 
 * @author 風清揚
 * @version V1.0
 */
public class MyStack {

	private LinkedList link;

	public MyStack() {
		link = new LinkedList();
	}

	public void add(Object obj) {
		link.addFirst(obj);
	}

	public Object get() {
		return link.removeFirst();
	}

	public boolean isEmpty() {
		return link.isEmpty();
	}
}


package cn.itcast_05;

/*
 * MyStack的測試
 */
public class MyStackDemo {
	public static void main(String[] args) {
		// 建立集合物件
		MyStack ms = new MyStack();

		// 新增元素
		ms.add("hello");
		ms.add("world");
		ms.add("java");

		// System.out.println(ms.get());
		// System.out.println(ms.get());
		// System.out.println(ms.get());
		// NoSuchElementException
		// System.out.println(ms.get());
		
		while(!ms.isEmpty()){
			System.out.println(ms.get());
		}
	}
}




相關文章