有没有办法将字符串中的字符添加到堆栈而无需创建自己的push和pop方法?
示例将非常感谢!
答案 0 :(得分:7)
Stack<Character> myStack = new Stack<Character>();
char letter = 'a';
myStack.push((Character) letter);
创建一个包含Character
个对象的堆栈,然后在插入之前将char
投射到Character
。
Java Character
类:http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html
就像int
和Integer
一样,您需要先包装一个原语,然后才能将其插入到数据结构中。
编辑:显然,Stack
已被弃用,因为它继承自Vector
。原因如下:Why is Java Vector class considered obsolete or deprecated?
正如Mark Peters所说,您应该使用LinkedList
或ArrayDeque
。
答案 1 :(得分:3)
我决定回答这个问题,因为有一些误解......
所以,
有String
:
String s = "your string";
创建Stack
或List
(LinkedList
)期待对Michael的回答发表评论
Stack<Character> d = new Stack<Character>();
用char
推送逻辑
for (char c : s.toCharArray()) {
d.push(c);
}
这就是全部!!!