假设我有一个堆栈 -
O (stack top)
L
L
E
H (stack bottom)
将其转换为“HELLO”的简洁方法是什么
现在我是这样做的-
private static String getString(Stack<Character> charStack) {
StringBuilder output = new StringBuilder();
while (!charStack.isEmpty()) {
output.append(charStack.pop());
}
return output.reverse().toString();
}
最佳答案
使用 map
和 Collectors
,一种执行相关代码意图的方法是:
return charStack.stream().map(Object::toString).collect(Collectors.joining());
编辑:从评论可见(1)和 (2) ,如果清空堆栈是有意的操作,您可以更新代码以包含如下行为:
String output = charStack.stream().map(Object::toString).collect(Collectors.joining());
charStack.clear();
return output;
关于java - 从字符堆栈构造字符串的高效简洁方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46728067/