我有这个FIFO堆栈/队列。
[,,,,,,,,, Readln,A,]
所有领先的堆栈都是空格/空格字符
我想要的是删除所有的空格字符,然后才能删除 [Readln,A,]作为我的筹码。
这是我的代码,将当前字符串添加到堆栈并删除该字符,如果它是一个空格但它不起作用,还尝试了许多其他迭代,但我不能正确。 :(
以下是我尝试过的最后一段代码,但仍未提供我想要的内容。
myQ.add(temp);
if(myQ.peek()==" ")
{
myQ.poll();
}
答案 0 :(得分:2)
以下代码应该适合您:
while(myQ.peek().trim().equals("")) {
myQ.poll();
}
答案 1 :(得分:2)
Gene是对的,在将字符串推入队列(或堆栈)之前,最好检查字符串是否为空。如果您已经有一个空字符串的队列(或堆栈),就像您的情况一样,您可以使用Queue
(resp。Stack
)的removeIf(Predicate)
方法并执行以下操作,< / p>
myQ.removeIf(s -> s.trim().isEmpty());
Queue
包提供的Stack
和java.util
都有此方法。