import java.util.LinkedList;
//LinkedList实现栈
public class StackTest
{
@SuppressWarnings("rawtypes")
LinkedList list = new LinkedList();
//入栈
@SuppressWarnings("unchecked")
public void push(Object o)
{
list.addLast(o);
}
//出栈
public Object pop()
{
return list.removeLast();
}
public boolean isEmpty()
{
return list.isEmpty();
}
public int length()
{
return list.size();
}
public static void main(String[] args)
{
StackTest stack = new StackTest();
stack.push(new String("hello"));
stack.push(new String("hello2"));
stack.push(new String("hello3"));
stack.push(new String("hello4"));
System.out.println(stack.length());//结果是4
for(int i = 0; i < stack.length() ; i++) //将stack.length()换成4,结果就是我期望的。
{
System.out.println((String)stack.pop());
}
}
}
//LinkedList实现栈
public class StackTest
{
@SuppressWarnings("rawtypes")
LinkedList list = new LinkedList();
//入栈
@SuppressWarnings("unchecked")
public void push(Object o)
{
list.addLast(o);
}
//出栈
public Object pop()
{
return list.removeLast();
}
public boolean isEmpty()
{
return list.isEmpty();
}
public int length()
{
return list.size();
}
public static void main(String[] args)
{
StackTest stack = new StackTest();
stack.push(new String("hello"));
stack.push(new String("hello2"));
stack.push(new String("hello3"));
stack.push(new String("hello4"));
System.out.println(stack.length());//结果是4
for(int i = 0; i < stack.length() ; i++) //将stack.length()换成4,结果就是我期望的。
{
System.out.println((String)stack.pop());
}
}
}
//LinkedList实现栈
public class StackTest
{
@SuppressWarnings("rawtypes")
LinkedList list = new LinkedList();
//入栈
@SuppressWarnings("unchecked")
public void push(Object o)
{
list.addLast(o);
}
//出栈
public Object pop()
{
return list.removeLast();
}
public boolean isEmpty()
{
return list.isEmpty();
}
public int length()
{
return list.size();
}
public static void main(String[] args)
{
StackTest stack = new StackTest();
stack.push(new String("hello"));
stack.push(new String("hello2"));
stack.push(new String("hello3"));
stack.push(new String("hello4"));
System.out.println(stack.length());//结果是4
int t = stack.length();
for(int i = 0; i < t ; i++) //将stack.length()换成4,结果就是我期望的。
{
System.out.println((String)stack.pop());
}
}
}
for(int i = 0; i < stack.length() ; i++) //将stack.length()换成4,结果就是我期望的。
{
System.out.println((String)stack.pop()); -- 每次pop,length()就会减1
}常规写法应该是:
while(!stack.isEmpty()) {
System.out.println((String)stack.pop());
}
for(int i = 0;i <satck.length;)
{
System.out.println((String)stack.pop());
}
原因很简单,不解释了。