本篇文章给大家谈谈javastackremove,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、【JAVA】写一个类,实现栈这种数据结构,要求底层数据使用ArrayList存储。2、我要用java实现一个栈,基本操作就是出栈入栈。请问如何实现效率比较高。3、java Stack pop返回值作为list.remove参数遇到问题
【JAVA】写一个类,实现栈这种数据结构,要求底层数据使用ArrayList存储。
栈的特点的就是后进先出,那么你就linkedList,如果要添加一个元素,就把他存到最后一个位置,要取一个元素,也从最后开始取就可以实现了,只有linkedList才有存,取,删最后一个元素这个方法,所以要要用linkedList
代码如下:
public
class
StudyTest
{
private
LinkedList
list
=
new
LinkedList
();
public
String
get()
{
return
list.getLast();
}
public
void
add(String
str)
{
this.list.addLast(str);
}
public
void
remove(){
this.list.removeLast();
}
}
我要用java实现一个栈,基本操作就是出栈入栈。请问如何实现效率比较高。
//这是JDK提供的栈
import java.util.Stack;
public class UsingStack {
public static void main(String[] args) {
//构造栈对象,使用类型限制,只能存储Integer数据
StackInteger s = new StackInteger();
//1、2、3依次入栈
s.push(1);
s.push(2);
s.push(3);
//3、2、1依次出栈
System.out.println(s.pop());
System.out.println(s.pop());
System.out.println(s.pop());
}
}
//这是我写的顺序结构的栈
import java.util.EmptyStackException;
import java.util.Vector;
public class UsingStack{
public static void main(String[] args){
//构造栈对象,使用类型限制,只能存储Integer数据
MyStackInteger s = new MyStackInteger();
//1、2、3依次入栈
s.push(1);
s.push(2);
s.push(3);
//3、2、1依次出栈
System.out.println(s.pop());
System.out.println(s.pop());
System.out.println(s.pop());
}
}
/**
* 栈类
* @author developer_05
* @param T
*/
class MyStackT extends VectorT{
/**
* 构造方法
*/
public MyStack(){
}
/**
* 入栈方法
* @param item 待入栈的元素
* @return 返回入栈的元素
*/
public T push(T item) {
addElement(item);
return item;
}
/**
* 出栈方法(同步处理)
* @return 返回出栈元素
*/
public synchronized T pop() {
T obj;
int len = size();
if (len == 0)
throw new EmptyStackException();
obj = elementAt(len – 1);
removeElementAt(len – 1);
return obj;
}
/**
* 判断栈是否为空的方法
* @return 返回true(栈空)或false(栈非空)
*/
public boolean empty() {
return size() == 0;
}
private static final long serialVersionUID = 1L;
}
java Stack pop返回值作为list.remove参数遇到问题
这个是java独有的特性,很诡异的。因为List是自动扩容的,所以在定义每个元素的地址时会有不确定的事发生。你这段代码应该把unlistedword.removed(h)放到上一句,毕竟程序的代码是顺序的。其次,java集合框架下,元素的进出不是固定的位置,这个的确存在。
javastackremove的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javastackremove的信息别忘了在本站进行查找喔。