我做了一个方法来删除堆栈中的任何重复项并返回按升序排序的结果堆栈。比如看main函数,应该输出为1、3、4、7,但是输出的是原来的栈数据,这是不正确的。有什么建议么?
import java.util.ListIterator;
import java.util.Stack;
public class removeDoubleInStack {
public static Stack<Integer> removeDouble(Stack<Integer> s) {
Stack<Integer> tempStack = new Stack<Integer>();
ListIterator<Integer> iter = s.listIterator();
while(iter.hasNext()) {
int tempNext = iter.next();
if(tempNext != iter.next())
tempStack.add(tempNext);
}
return tempStack;
}
public static void main(String[] args) {
Stack<Integer> s = new Stack<Integer>();
s.add(1);
s.add(3);
s.add(3);
s.add(4);
s.add(7);
s.add(7);
removeDouble(s);
System.out.println(s);
}
}