急!!怎么用集合实现堆栈效果,就是用LinkedList 我是新手,希望高手们能给解答一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先进先出 先进后出 你只需要将LinkedList封装起来 根据不同的特性调用addFrist和addLast就可以了 二楼方法可行,写一个类Stack类,和java.util.Stack有相同的方法top,put,peek,pop,search,内部用LinkedList存储数据。 package com.util;import java.util.LinkedList;public class Stack<E> { private LinkedList<E> data = new LinkedList<E>(); public boolean empty() { return (data.size() == 0); } public E push(E element) { data.addFirst(element); return element; } public E pop(E element) { return data.remove(0); } public E peek(E element) { return data.getFirst(); } public int search(Object o) { for (int i = 0; i < data.size(); i++) { E e = data.get(i); if(e == o) { return i; } } return -1; } } 自己去看看 Stack的代码实现。 package stack;public class Stack<T> {private int maxSize;private T[] stackArray;private int top;/*** Stack构造器* * @param size* 栈的长度*/public Stack(int size) { maxSize = size; stackArray = (T[]) new Object[size]; top = -1;}/*** 添加对象* * @param t* 对象*/public void push(T t) { stackArray[++top] = t;}/*** 获得对象 并移除所获得的对象* * @return T;* */public T pop() { return stackArray[top--];}/*** 获得对象* * @return T;* */public T peek() { return stackArray[top];}/*** 判断当前栈是否为空* * @return b*/public boolean isEmpty() { return (top == -1);}/*** 判断当前栈是否以满* * @return b* */public boolean isFull() { return (top == (maxSize - 1));}}数据结构书中对栈的实现 MyEclipse SVN 报错 问个struts2局部转换器的问题 对象的赋值 java 新手问的关于Hibernate的问题 <html:link>标签如何传动态参数阿,救命 阿 问题3.3.6.24()有什么规律。后面写一个数 哪位知道这个错误是咋回事? 在线等待,焦急!! 考一个测试智商下限的问题 求助怎么把Map<String, List<String>> 转成json 关于截取的问题 sql在java里如何实现(在线等答案)
内部用LinkedList存储数据。
package com.util;
import java.util.LinkedList;public class Stack<E> {
private LinkedList<E> data = new LinkedList<E>();
public boolean empty() {
return (data.size() == 0);
}
public E push(E element) {
data.addFirst(element);
return element;
}
public E pop(E element) {
return data.remove(0);
}
public E peek(E element) {
return data.getFirst();
}
public int search(Object o) {
for (int i = 0; i < data.size(); i++) {
E e = data.get(i);
if(e == o) {
return i;
}
}
return -1;
}
}
package stack;public class Stack<T> {
private int maxSize;
private T[] stackArray;
private int top;/**
* Stack构造器
*
* @param size
* 栈的长度
*/
public Stack(int size) {
maxSize = size;
stackArray = (T[]) new Object[size];
top = -1;
}/**
* 添加对象
*
* @param t
* 对象
*/
public void push(T t) {
stackArray[++top] = t;
}/**
* 获得对象 并移除所获得的对象
*
* @return T;
* */
public T pop() {
return stackArray[top--];
}/**
* 获得对象
*
* @return T;
* */
public T peek() {
return stackArray[top];
}/**
* 判断当前栈是否为空
*
* @return b
*/
public boolean isEmpty() {
return (top == -1);
}/**
* 判断当前栈是否以满
*
* @return b
* */
public boolean isFull() {
return (top == (maxSize - 1));
}}
数据结构书中对栈的实现